Jelajahi Sumber

修改模板

zhangzaipeng 3 tahun lalu
induk
melakukan
453149e130
1 mengubah file dengan 82 tambahan dan 37 penghapusan
  1. 82 37
      single_table/groovy.ftl

+ 82 - 37
single_table/groovy.ftl

@@ -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++ // 计数
             }