代码生成没有设置主键出现的bug修复、ftl模板更新

This commit is contained in:
2022-12-07 14:10:24 +08:00
parent 83ca5012e7
commit 42a7674785
8 changed files with 151 additions and 137 deletions

View File

@@ -277,6 +277,12 @@ public class GenUtil {
genMap.put("hasQuery", false); genMap.put("hasQuery", false);
// 自增主键 // 自增主键
genMap.put("auto", false); genMap.put("auto", false);
// 存储主键类型(未标明主键)
genMap.put("pkColumnType", "Long");
// 存储小写开头的字段名(未标明主键)
genMap.put("pkChangeColName", "id");
// 存储大写开头的字段名(未标明主键)
genMap.put("pkCapitalColName", "Id");
// 存在字典 // 存在字典
genMap.put("hasDict", false); genMap.put("hasDict", false);
// 存在日期注解 // 存在日期注解

View File

@@ -1,7 +1,8 @@
package ${package}.rest; package ${package}.rest;
import ${package}.service.${className}Service;
import ${package}.service.dto.${className}Dto;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.nl.modules.logging.annotation.Log; import org.nl.modules.logging.annotation.Log;
@@ -57,7 +58,7 @@ public class ${className}Controller {
@ApiOperation("删除${apiAlias}") @ApiOperation("删除${apiAlias}")
//@SaCheckPermission("@el.check('${changeClassName}:del')") //@SaCheckPermission("@el.check('${changeClassName}:del')")
@DeleteMapping @DeleteMapping
public ResponseEntity<Object> delete(@RequestBody ${pkColumnType}[] ids) { public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
${changeClassName}Service.deleteAll(ids); ${changeClassName}Service.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }

View File

@@ -2,15 +2,18 @@ package ${package}.service.dto;
import lombok.Data; import lombok.Data;
<#if hasTimestamp> <#if hasTimestamp>
import java.sql.Timestamp; import java.sql.Timestamp;
</#if>
<#if hasDate>
import java.util.Date;
</#if> </#if>
<#if hasBigDecimal> <#if hasBigDecimal>
import java.math.BigDecimal; import java.math.BigDecimal;
</#if> </#if>
import java.io.Serializable; import java.io.Serializable;
<#if !auto && pkColumnType = 'Long'> <#if !auto && pkColumnType = 'Long'>
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
</#if> </#if>
/** /**
@@ -21,7 +24,7 @@ import java.io.Serializable;
@Data @Data
public class ${className}Dto implements Serializable { public class ${className}Dto implements Serializable {
<#if columns??> <#if columns??>
<#list columns as column> <#list columns as column>
<#if column.remark != ''> <#if column.remark != ''>
/** ${column.remark} */ /** ${column.remark} */
@@ -33,6 +36,6 @@ public class ${className}Dto implements Serializable {
</#if> </#if>
</#if> </#if>
private ${column.columnType} ${column.changeColumnName}; private ${column.columnType} ${column.changeColumnName};
</#list> </#list>
</#if> </#if>
} }

View File

@@ -13,8 +13,8 @@ import javax.persistence.*;
import javax.persistence.Table; import javax.persistence.Table;
import org.hibernate.annotations.*; import org.hibernate.annotations.*;
</#if> </#if>
<#if hasTimestamp> <#if hasDate>
import java.sql.Timestamp; import java.util.Date;
</#if> </#if>
<#if hasBigDecimal> <#if hasBigDecimal>
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -48,10 +48,10 @@ public class ${className} implements Serializable {
</#if> </#if>
</#if> </#if>
<#if (column.dateAnnotation)?? && column.dateAnnotation != ''> <#if (column.dateAnnotation)?? && column.dateAnnotation != ''>
<#if column.dateAnnotation = 'CreationTimestamp'> <#if column.dateAnnotation = 'CreationDate'>
@CreationTimestamp
<#else> <#else>
@UpdateTimestamp @UpdateDate
</#if> </#if>
</#if> </#if>
<#if column.remark != ''> <#if column.remark != ''>

View File

@@ -2,8 +2,8 @@
package ${package}.service.dto; package ${package}.service.dto;
import lombok.Data; import lombok.Data;
<#if queryHasTimestamp> <#if queryHasDate>
import java.sql.Timestamp; import java.util.Date;
</#if> </#if>
<#if queryHasBigDecimal> <#if queryHasBigDecimal>
import java.math.BigDecimal; import java.math.BigDecimal;

View File

@@ -1,6 +1,6 @@
package ${package}.service; package ${package}.service;
import ${package}.service.dto.${className}Dto;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import java.util.Map; import java.util.Map;
import java.util.List; import java.util.List;
@@ -14,18 +14,18 @@ import javax.servlet.http.HttpServletResponse;
**/ **/
public interface ${className}Service { public interface ${className}Service {
/** /**
* 查询数据分页 * 查询数据分页
* @param whereJson 条件 * @param whereJson 条件
* @param page 分页参数 * @param page 分页参数
* @return Map<String,Object> * @return Map<String,Object>
*/ */
Map<String,Object> queryAll(Map whereJson, Pageable page); Map<String,Object> queryAll(Map whereJson, Pageable page);
/** /**
* 查询所有数据不分页 * 查询所有数据不分页
* @param whereJson 条件参数 * @param whereJson 条件参数
* @return List<${className}Dto> * @return List<${className}Dto>
*/ */
List<${className}Dto> queryAll(Map whereJson); List<${className}Dto> queryAll(Map whereJson);
@@ -61,4 +61,4 @@ Map<String,Object> queryAll(Map whereJson, Pageable page);
* @param ids / * @param ids /
*/ */
void deleteAll(${pkColumnType}[] ids); void deleteAll(${pkColumnType}[] ids);
} }

View File

@@ -1,9 +1,12 @@
package ${package}.service.impl; package ${package}.service.impl;
import ${package}.service.${className}Service;
import ${package}.service.dto.${className}Dto;
import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.nl.modules.common.exception.BadRequestException;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@@ -14,7 +17,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.nl.sso.tools.SecurityUtils; import org.nl.modules.common.utils.SecurityUtils;
import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.ResultBean;
import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.WqlUtil; import org.nl.modules.wql.util.WqlUtil;
@@ -31,16 +34,16 @@ import cn.hutool.core.util.ObjectUtil;
@Slf4j @Slf4j
public class ${className}ServiceImpl implements ${className}Service { public class ${className}ServiceImpl implements ${className}Service {
@Override @Override
public Map<String,Object> queryAll(Map whereJson, Pageable page){ public Map<String,Object> queryAll(Map whereJson, Pageable page){
WQLObject wo = WQLObject.getWQLObject("${tableName}"); WQLObject wo = WQLObject.getWQLObject("${tableName}");
ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "update_time desc"); ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "update_time desc");
final JSONObject json = rb.pageResult(); final JSONObject json = rb.pageResult();
return json; return json;
} }
@Override @Override
public List<${className}Dto> queryAll(Map whereJson){ public List<${className}Dto> queryAll(Map whereJson){
WQLObject wo = WQLObject.getWQLObject("${tableName}"); WQLObject wo = WQLObject.getWQLObject("${tableName}");
JSONArray arr = wo.query().getResultJSONArray(0); JSONArray arr = wo.query().getResultJSONArray(0);
if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(${className}Dto.class); if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(${className}Dto.class);
@@ -125,4 +128,4 @@ public List<${className}Dto> queryAll(Map whereJson){
} }
} }
} }

View File

@@ -85,7 +85,7 @@
{{ dict.label.${column.dictName}[scope.row.${column.changeColumnName}] }} {{ dict.label.${column.dictName}[scope.row.${column.changeColumnName}] }}
</template> </template>
</el-table-column> </el-table-column>
<#elseif column.columnType != 'Timestamp'> <#elseif column.columnType != 'Date'>
<el-table-column prop="${column.changeColumnName}" label="<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>" :min-width="flexWidth('${column.changeColumnName}',crud.data,'<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>')"/> <el-table-column prop="${column.changeColumnName}" label="<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>" :min-width="flexWidth('${column.changeColumnName}',crud.data,'<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>')"/>
<#else> <#else>
<el-table-column prop="${column.changeColumnName}" label="<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>" :min-width="flexWidth('${column.changeColumnName}',crud.data,'<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>')"> <el-table-column prop="${column.changeColumnName}" label="<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>" :min-width="flexWidth('${column.changeColumnName}',crud.data,'<#if column.remark != ''>${column.remark}<#else>${column.changeColumnName}</#if>')">
@@ -113,13 +113,14 @@
</template> </template>
<script> <script>
import CRUD, {crud, form, header, presenter} from '@crud/crud' import crud${className} from './${changeClassName}'
import rrOperation from '@crud/RR.operation' import CRUD, {crud, form, header, presenter} from '@crud/crud'
import crudOperation from '@crud/CRUD.operation' import rrOperation from '@crud/RR.operation'
import udOperation from '@crud/UD.operation' import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination' import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = { <#if columns??><#list columns as column>${column.changeColumnName}: null<#if column_has_next>, </#if></#list></#if> } const defaultForm = { <#if columns??><#list columns as column>${column.changeColumnName}: null<#if column_has_next>, </#if></#list></#if> }
export default { export default {
name: '${className}', name: '${className}',
components: { pagination, crudOperation, rrOperation, udOperation }, components: { pagination, crudOperation, rrOperation, udOperation },