Skip to content

Commit f5ee2b5

Browse files
committed
refactor(generator): 优化代码生成列配置代码,取消后端部分默认值
1 parent bd7bf43 commit f5ee2b5

File tree

13 files changed

+205
-100
lines changed

13 files changed

+205
-100
lines changed

continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/model/entity/FieldConfigDO.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,19 +157,22 @@ public class FieldConfigDO implements Serializable {
157157
public FieldConfigDO(@NonNull Column column) {
158158
this.setTableName(column.getTableName());
159159
this.setColumnName(column.getName());
160-
this.setColumnType(StrUtil.splitToArray(column.getTypeName(), StringConstants.SPACE)[0].toLowerCase());
160+
this.setColumnType(column.getTypeName());
161161
this.setColumnSize(Convert.toStr(column.getSize()));
162162
this.setComment(column.getComment());
163163
this.setIsRequired(!column.isPk() && !column.isNullable());
164164
this.setShowInList(true);
165165
this.setShowInForm(this.getIsRequired());
166166
this.setShowInQuery(this.getIsRequired());
167-
this.setFormType(FormTypeEnum.INPUT);
168-
this.setQueryType("String".equals(this.getFieldType()) ? QueryTypeEnum.LIKE : QueryTypeEnum.EQ);
169167
}
170168

171169
public void setColumnName(String columnName) {
172170
this.columnName = columnName;
173171
this.fieldName = StrUtil.toCamelCase(this.columnName);
174172
}
173+
174+
public void setColumnType(String columnType) {
175+
String[] arr = StrUtil.splitToArray(columnType, StringConstants.SPACE);
176+
this.columnType = arr.length > 1 ? arr[0].toLowerCase() : columnType.toLowerCase();
177+
}
175178
}

continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/model/entity/GenConfigDO.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,15 @@
1616

1717
package top.continew.admin.generator.model.entity;
1818

19-
import cn.hutool.core.util.StrUtil;
2019
import com.baomidou.mybatisplus.annotation.*;
21-
import com.fasterxml.jackson.annotation.JsonIgnore;
2220
import io.swagger.v3.oas.annotations.media.Schema;
2321
import jakarta.validation.constraints.NotBlank;
2422
import jakarta.validation.constraints.NotNull;
2523
import jakarta.validation.constraints.Pattern;
26-
import lombok.AccessLevel;
2724
import lombok.Data;
2825
import lombok.NoArgsConstructor;
29-
import lombok.Setter;
3026
import org.hibernate.validator.constraints.Length;
3127
import top.continew.admin.common.constant.RegexConstants;
32-
import top.continew.starter.core.util.StrUtils;
3328

3429
import java.io.Serial;
3530
import java.io.Serializable;
@@ -118,21 +113,7 @@ public class GenConfigDO implements Serializable {
118113
@TableField(fill = FieldFill.UPDATE)
119114
private LocalDateTime updateTime;
120115

121-
/**
122-
* 类名前缀
123-
*/
124-
@Setter(AccessLevel.NONE)
125-
@JsonIgnore
126-
@TableField(exist = false)
127-
private String classNamePrefix;
128-
129116
public GenConfigDO(String tableName) {
130117
this.tableName = tableName;
131118
}
132-
133-
public String getClassNamePrefix() {
134-
String rawClassName = StrUtils.blankToDefault(this.tablePrefix, this.tableName, prefix -> StrUtil
135-
.removePrefix(this.tableName, prefix));
136-
return StrUtil.upperFirst(StrUtil.toCamelCase(rawClassName));
137-
}
138119
}
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
/*
2+
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package top.continew.admin.generator.model.entity;
18+
19+
import cn.hutool.core.bean.BeanUtil;
20+
import cn.hutool.core.date.DateUtil;
21+
import cn.hutool.core.util.StrUtil;
22+
import lombok.Data;
23+
import lombok.EqualsAndHashCode;
24+
import top.continew.starter.core.constant.StringConstants;
25+
import top.continew.starter.core.util.StrUtils;
26+
27+
import java.io.Serial;
28+
import java.util.List;
29+
import java.util.Set;
30+
31+
/**
32+
* 内部生成配置信息
33+
*
34+
* @author zhangqcc
35+
* @since 2024/8/30 19:35
36+
*/
37+
@Data
38+
@EqualsAndHashCode(callSuper = true)
39+
public class InnerGenConfigDO extends GenConfigDO {
40+
41+
@Serial
42+
private static final long serialVersionUID = 1L;
43+
44+
/**
45+
* 字段配置信息
46+
*/
47+
private List<FieldConfigDO> fieldConfigs;
48+
49+
/**
50+
* 生成时间
51+
*/
52+
private String datetime;
53+
54+
/**
55+
* API 模块名称
56+
*/
57+
private String apiModuleName;
58+
59+
/**
60+
* API 名称
61+
*/
62+
private String apiName;
63+
64+
/**
65+
* 类名
66+
*/
67+
private String className;
68+
69+
/**
70+
* 类名前缀
71+
*/
72+
private String classNamePrefix;
73+
74+
/**
75+
* 子包名称
76+
*/
77+
private String subPackageName;
78+
79+
/**
80+
* 字典编码列表
81+
*/
82+
private Set<String> dictCodes;
83+
84+
/**
85+
* 是否包含必填字段
86+
*/
87+
private boolean hasRequiredField;
88+
89+
/**
90+
* 是否包含字典字段
91+
*/
92+
private boolean hasDictField;
93+
94+
/**
95+
* 是否包含 BigDecimal 字段
96+
*/
97+
private boolean hasBigDecimalField;
98+
99+
/**
100+
* 是否包含 List 字段
101+
*/
102+
private boolean hasListField;
103+
104+
/**
105+
* 是否包含 Time 包字段
106+
*/
107+
private boolean hasTimeField;
108+
109+
public InnerGenConfigDO() {
110+
}
111+
112+
public InnerGenConfigDO(GenConfigDO genConfig) {
113+
BeanUtil.copyProperties(genConfig, this);
114+
this.setDatetime(DateUtil.date().toString("yyyy/MM/dd HH:mm"));
115+
this.setApiName(StrUtil.lowerFirst(this.getClassNamePrefix()));
116+
}
117+
118+
@Override
119+
public void setPackageName(String packageName) {
120+
super.setPackageName(packageName);
121+
String realPackageName = this.getPackageName();
122+
this.setApiModuleName(StrUtil.subSuf(realPackageName, StrUtil
123+
.lastIndexOfIgnoreCase(realPackageName, StringConstants.DOT) + 1));
124+
}
125+
126+
public String getClassNamePrefix() {
127+
String tableName = super.getTableName();
128+
String rawClassName = StrUtils.blankToDefault(super.getTablePrefix(), tableName, prefix -> StrUtil
129+
.removePrefix(tableName, prefix));
130+
return StrUtil.upperFirst(StrUtil.toCamelCase(rawClassName));
131+
}
132+
}

0 commit comments

Comments
 (0)