优化代码生成

This commit is contained in:
izory 2021-09-18 18:13:28 +08:00
parent 8c8c205393
commit 7a8000c729
7 changed files with 64 additions and 39 deletions

View File

@ -93,17 +93,17 @@ namespace ZR.Admin.WebApi.Controllers
[ActionPermissionFilter(Permission = "tool:gen:code")]
public IActionResult Generate([FromBody] GenerateDto dto)
{
if (string.IsNullOrEmpty(dto.tableName) || dto.TableId <= 0)
if (dto.TableId <= 0)
{
throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空");
}
var genTableInfo = GenTableService.GetGenTableInfo(dto.TableId);
var getTableColumn = GenTableColumnService.GenTableColumns(dto.TableId);
genTableInfo.Columns = getTableColumn;
DbTableInfo dbTableInfo = new() { Name = dto.tableName };
//DbTableInfo dbTableInfo = new() { Name = dto.tableName };
CodeGeneratorTool.Generate(genTableInfo, dto);
return SUCCESS(dbTableInfo);
return SUCCESS(genTableInfo);
}
/// <summary>

View File

@ -81,7 +81,6 @@ namespace {ApiControllerNamespace}.Controllers
}
//从 Dto 映射到 实体
var addModel = parm.Adapt<{ModelName}>().ToCreate();
//addModel.CreateID = User.Identity.Name;
return SUCCESS(_{ModelName}Service.Add(addModel));
}
@ -100,12 +99,11 @@ namespace {ApiControllerNamespace}.Controllers
throw new CustomException("请求实体不能为空");
}
//从 Dto 映射到 实体
var updateModel = parm.Adapt<{ModelName}>().ToCreate();
//updateModel.CreateID = User.Identity.Name;
var updateModel = parm.Adapt<{ModelName}>().ToUpdate();
var response = _{ModelName}Service.Update(w => w.{PrimaryKey} == updateModel.{PrimaryKey}, it => new {ModelName}()
{
//TODO 字段映射
//Update 字段映射
{UpdateColumn}
});

View File

@ -66,9 +66,9 @@ namespace ZR.CodeGenerator
modelcontent += " /// </summary>\n";
if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement)
{
modelcontent += $" [SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPk.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIncrement.ToString().ToLower()})]\n";
modelcontent += $"[SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPk.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIncrement.ToString().ToLower()})]\n";
}
modelcontent += $" public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\n\r";
modelcontent += $"public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\n\r";
return modelcontent;
}
//DTO model
@ -91,7 +91,10 @@ namespace ZR.CodeGenerator
string vueViewFromContent = "";
string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : "";
string placeHolder = dbFieldInfo.IsIncrement ? "" : $"请输入{labelName}";
if (!dbFieldInfo.IsInsert || !dbFieldInfo.IsEdit)
{
return vueViewFromContent;
}
if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME)
{
//时间
@ -143,12 +146,11 @@ namespace ZR.CodeGenerator
string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName);
string vueViewListContent = "";
string showToolTip = dbFieldInfo.ColumnType.Contains("varchar") ? ":show-overflow-tooltip=\"true\"" : "";
if (!dbFieldInfo.IsQuery)
if (!dbFieldInfo.IsList)
{
return vueViewListContent;
}
if (dbFieldInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD))
}
else if (dbFieldInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD))
{
vueViewListContent += $" <el-table-column prop=\"{ columnName}\" label=\"图片\">\n";
vueViewListContent += " <template slot-scope=\"scope\">\n";
@ -167,8 +169,7 @@ namespace ZR.CodeGenerator
//}
else
{
//table-column
vueViewListContent += $" <el-table-column prop=\"{CodeGeneratorTool.FirstLowerCase(columnName)}\" label=\"{label}\" align=\"center\" width=\"100\" {showToolTip} />\n";
vueViewListContent += $" <el-table-column prop=\"{columnName}\" label=\"{label}\" align=\"center\" width=\"100\" {showToolTip} />\n";
}
return vueViewListContent;
}

View File

@ -91,17 +91,17 @@ namespace ZR.CodeGenerator
{
vueViewEditFromContent += $" {columnName}: undefined,\n";
}
//vueViewSaveBindContent += string.Format(" '{0}':this.editFrom.{0},\n", columnName);
//主键
if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement)
{
primaryKey = columnName.Substring(0, 1).ToUpper() + columnName[1..];
keyTypeName = dbFieldInfo.CsharpType;
}
else
//编辑字段
if (dbFieldInfo.IsEdit && (!dbFieldInfo.IsPk || !dbFieldInfo.IsIncrement))
{
var tempColumnName = columnName.Substring(0, 1).ToUpper() + columnName[1..];
updateColumn += $" {tempColumnName} = parm.{tempColumnName},\n";
updateColumn += $" {dbFieldInfo.CsharpField} = parm.{dbFieldInfo.CsharpField},\n";
}
modelContent += CodeGenerateTemplate.GetModelTemplate(dbFieldInfo);

View File

@ -37,22 +37,7 @@ namespace ZR.Model.System.Dto
public string CsharpType { get; set; }
public string CsharpField { get; set; }
public bool IsPk { get; set; }
///// <summary>
///// 是否必填1是
///// </summary>
//public bool IsRequired { get; set; }
//public bool IsIncrement { get; set; }
///// <summary>
///// 是否插入
///// </summary>
public bool IsInsert { get; set; }
///// <summary>
///// 是否需要编辑
///// </summary>
public bool IsEdit { get; set; }
///// <summary>
///// isList
///// </summary>
public bool IsList { get; set; }
//public bool IsQuery { get; set; }
///// <summary>

View File

@ -42,12 +42,12 @@
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="tableName" label="表名" sortable="custom" width="380" />
<el-table-column prop="tableName" label="表名" sortable="custom" width="180" />
<el-table-column prop="tableComment" label="表描述" />
<el-table-column prop="className" label="实体" />
<el-table-column prop="createTime" label="创建时间" />
<el-table-column prop="updateTime" label="更新时间" />
<el-table-column label="操作" align="center" width="240">
<el-table-column label="操作" align="center" width="340">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-view" @click="handlePreview()">预览</el-button>
<el-button type="text" icon="el-icon-edit" @click="handleEditTable(scope.row)">编辑</el-button>
@ -192,8 +192,8 @@ export default {
// dbName: this.codeform.dbName,
tableId: this.currentSelected.tableId,
tableName: this.currentSelected.name,
baseSpace: this.codeform.baseSpace,
replaceTableNameStr: this.codeform.replaceTableNameStr,
// baseSpace: this.codeform.baseSpace,
// replaceTableNameStr: this.codeform.replaceTableNameStr,
genFiles: this.checkedCodeGenerateForm,
coverd: this.coverd,
queryColumn: this.checkedQueryColumn,

View File

@ -27,6 +27,47 @@
<param name="data"></param>
<returns></returns>
</member>
<member name="T:ZR.Admin.WebApi.Controllers.UserInfoController">
<summary>
代码自动生成
</summary>
</member>
<member name="F:ZR.Admin.WebApi.Controllers.UserInfoController._UserInfoService">
<summary>
用户信息接口
</summary>
</member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.QueryUserInfo(ZR.Model.Dto.UserInfoQueryDto)">
<summary>
查询用户信息列表
</summary>
<returns></returns>
</member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.GetUserInfo(System.Int32)">
<summary>
查询用户信息详情
</summary>
<param name="Luid"></param>
<returns></returns>
</member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.AddUserInfo(ZR.Model.Dto.UserInfoDto)">
<summary>
添加用户信息
</summary>
<returns></returns>
</member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.UpdateUserInfo(ZR.Model.Dto.UserInfoDto)">
<summary>
更新用户信息
</summary>
<returns></returns>
</member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.DeleteUserInfo(System.Int32)">
<summary>
删除用户信息
</summary>
<returns></returns>
</member>
<member name="T:ZR.Admin.WebApi.Controllers.CodeGeneratorController">
<summary>
代码生成