|
@@ -25,7 +25,6 @@ class ${moduleName} {
|
|
|
|
|
|
static def saveItems(params) {
|
|
|
long rowEffect = 0
|
|
|
- def primaryKey = DbConv.asString(params.primaryKey)
|
|
|
|
|
|
// 获取 queryDsl 针对某张表的 insert/update/remove 的操作对象
|
|
|
def insert = queryDsl.insert(${camelName(tableName)}) // insert 操作对象
|
|
@@ -41,7 +40,24 @@ class ${moduleName} {
|
|
|
if (row._origin[primaryKey] != null) {
|
|
|
// 构建删除条件,添加到 "批量执行(addBatch)" 的缓存中
|
|
|
remove.where(
|
|
|
- ${camelName(tableName)}.${camelName(primaryKey)}.eq(DbConv.asString(row._origin[primaryKey]))
|
|
|
+ ${camelName(tableName)}.${camelName(primaryKey)}.eq(
|
|
|
+ <#switch primaryType>
|
|
|
+ <#case contains('varchar')>
|
|
|
+ DbConv.asString(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#case contains('int4')>
|
|
|
+ DbConv.asInteger(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#case contains('int8')>
|
|
|
+ DbConv.asLong(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#case contains('time')>
|
|
|
+ DbConv.asDate(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#default>
|
|
|
+ DbConv.asString(row._origin["${primaryKey}"])
|
|
|
+ </#switch>
|
|
|
+ )
|
|
|
).addBatch()
|
|
|
d++ // 计数
|
|
|
}
|
|
@@ -53,56 +69,85 @@ class ${moduleName} {
|
|
|
insert
|
|
|
<#if columnList??>
|
|
|
<#list columnList as column>
|
|
|
- <#switch column.dataType>
|
|
|
- <#case 1>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
- <#break>
|
|
|
- <#case 2>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asInteger(row.${column.columnName}) as Integer)
|
|
|
- <#break>
|
|
|
- <#case 3>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asLong(row.${column.columnName}) as Long)
|
|
|
- <#break>
|
|
|
- <#case 4>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asDate(row.${column.columnName}) as Date)
|
|
|
- <#break>
|
|
|
- <#default>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
- </#switch>
|
|
|
+ <#--排除create_at create_by update_at update_by-->
|
|
|
+ <#if column.columnName?upper_case != "CREATE_AT"
|
|
|
+ && column.columnName?upper_case != "CREATE_BY"
|
|
|
+ && column.columnName?upper_case != "UPDATE_AT"
|
|
|
+ && column.columnName?upper_case != "UPDATE_BY"
|
|
|
+ >
|
|
|
+ <#switch column.dataType>
|
|
|
+ <#case 1>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
+ <#break>
|
|
|
+ <#case 2>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asInteger(row.${column.columnName}) as Integer)
|
|
|
+ <#break>
|
|
|
+ <#case 3>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asLong(row.${column.columnName}) as Long)
|
|
|
+ <#break>
|
|
|
+ <#case 4>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asDate(row.${column.columnName}) as Date)
|
|
|
+ <#break>
|
|
|
+ <#default>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
+ </#switch>
|
|
|
+ </#if>
|
|
|
</#list>
|
|
|
</#if>
|
|
|
.addBatch()
|
|
|
i++ // 计数
|
|
|
}
|
|
|
-
|
|
|
for (def row : params.modifyRows) {
|
|
|
// 提取 modifyRows 全部修改的数据
|
|
|
// 构建update的queryDsl语句,并添加到 "批量执行(addBatch)" 的缓存中
|
|
|
- if (row._origin.dict_value != null) {
|
|
|
+ if (row._origin.["${primaryKey}"] != null) {
|
|
|
update
|
|
|
<#if columnList??>
|
|
|
<#list columnList as column>
|
|
|
- <#switch column.dataType>
|
|
|
- <#case 1>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
- <#break>
|
|
|
- <#case 2>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asInteger(row.${column.columnName}) as Integer)
|
|
|
- <#break>
|
|
|
- <#case 3>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asLong(row.${column.columnName}) as Long)
|
|
|
- <#break>
|
|
|
- <#case 4>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asDate(row.${column.columnName}) as Date)
|
|
|
- <#break>
|
|
|
- <#default>
|
|
|
- .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
- </#switch>
|
|
|
+ <#if column.columnName?upper_case != "CREATE_AT"
|
|
|
+ && column.columnName?upper_case != "CREATE_BY"
|
|
|
+ && column.columnName?upper_case != "UPDATE_AT"
|
|
|
+ && column.columnName?upper_case != "UPDATE_BY"
|
|
|
+ >
|
|
|
+ <#switch column.dataType>
|
|
|
+ <#case 1>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
+ <#break>
|
|
|
+ <#case 2>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asInteger(row.${column.columnName}) as Integer)
|
|
|
+ <#break>
|
|
|
+ <#case 3>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asLong(row.${column.columnName}) as Long)
|
|
|
+ <#break>
|
|
|
+ <#case 4>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asDate(row.${column.columnName}) as Date)
|
|
|
+ <#break>
|
|
|
+ <#default>
|
|
|
+ .set(${camelName(tableName)}.${camelName(column.columnName)}, DbConv.asString(row.${column.columnName}))
|
|
|
+ </#switch>
|
|
|
+ </#if>
|
|
|
</#list>
|
|
|
</#if>
|
|
|
.where(
|
|
|
// row._origin.xxx 就是修改前 xxx 属性的值
|
|
|
- ${camelName(tableName)}.${camelName(primaryKey)}.eq(DbConv.asString(row._origin[primaryKey]))
|
|
|
+ ${camelName(tableName)}.${camelName(primaryKey)}.eq(
|
|
|
+<#switch primaryType>
|
|
|
+ <#case contains('varchar')>
|
|
|
+ DbConv.asString(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#case contains('int4')>
|
|
|
+ DbConv.asInteger(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#case contains('int8')>
|
|
|
+ DbConv.asLong(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#case contains('time')>
|
|
|
+ DbConv.asDate(row._origin["${primaryKey}"])
|
|
|
+ <#break>
|
|
|
+ <#default>
|
|
|
+ DbConv.asString(row._origin["${primaryKey}"])
|
|
|
+</#switch>
|
|
|
+)
|
|
|
).addBatch()
|
|
|
u++ // 计数
|
|
|
}
|