From ac1f9c646378a0eeafc3cf099b97dd0ee03889db Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期五, 08 一月 2021 11:16:01 +0800
Subject: [PATCH] 代码生成模板支持主子表

---
 src/main/resources/vm/java/serviceImpl.java.vm |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/vm/java/serviceImpl.java.vm b/src/main/resources/vm/java/serviceImpl.java.vm
index 05a3de8..b1b3c40 100644
--- a/src/main/resources/vm/java/serviceImpl.java.vm
+++ b/src/main/resources/vm/java/serviceImpl.java.vm
@@ -9,6 +9,12 @@
 #end
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+#if($table.sub)
+import java.util.ArrayList;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
+import ${packageName}.domain.${subClassName};
+#end
 import ${packageName}.mapper.${ClassName}Mapper;
 import ${packageName}.domain.${ClassName};
 import ${packageName}.service.I${ClassName}Service;
@@ -55,6 +61,9 @@
      * @param ${className} ${functionName}
      * @return 缁撴灉
      */
+#if($table.sub)
+    @Transactional
+#end
     @Override
     public int insert${ClassName}(${ClassName} ${className})
     {
@@ -63,7 +72,13 @@
         ${className}.setCreateTime(DateUtils.getNowDate());
 #end
 #end
+#if($table.sub)
+        int rows = ${className}Mapper.insert${ClassName}(${className});
+        insert${subClassName}(${className});
+        return rows;
+#else
         return ${className}Mapper.insert${ClassName}(${className});
+#end
     }
 
     /**
@@ -72,6 +87,9 @@
      * @param ${className} ${functionName}
      * @return 缁撴灉
      */
+#if($table.sub)
+    @Transactional
+#end
     @Override
     public int update${ClassName}(${ClassName} ${className})
     {
@@ -79,6 +97,10 @@
 #if($column.javaField == 'updateTime')
         ${className}.setUpdateTime(DateUtils.getNowDate());
 #end
+#end
+#if($table.sub)
+        ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
+        insert${subClassName}(${className});
 #end
         return ${className}Mapper.update${ClassName}(${className});
     }
@@ -89,9 +111,15 @@
      * @param ${pkColumn.javaField}s 闇�瑕佸垹闄ょ殑${functionName}ID
      * @return 缁撴灉
      */
+#if($table.sub)
+    @Transactional
+#end
     @Override
     public int delete${ClassName}ByIds(${pkColumn.javaType}[] ${pkColumn.javaField}s)
     {
+#if($table.sub)
+        ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
+#end
         return ${className}Mapper.delete${ClassName}ByIds(${pkColumn.javaField}s);
     }
 
@@ -104,6 +132,35 @@
     @Override
     public int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField})
     {
+#if($table.sub)
+        ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
+#end
         return ${className}Mapper.delete${ClassName}ById(${pkColumn.javaField});
     }
+#if($table.sub)
+
+    /**
+     * 鏂板${subTable.functionName}淇℃伅
+     * 
+     * @param ${className} ${functionName}瀵硅薄
+     */
+    public void insert${subClassName}(${ClassName} ${className})
+    {
+        List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
+        Long ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
+        if (StringUtils.isNotNull(${subclassName}List))
+        {
+            List<${subClassName}> list = new ArrayList<${subClassName}>();
+            for (${subClassName} ${subclassName} : ${subclassName}List)
+            {
+                ${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
+                list.add(${subclassName});
+            }
+            if (list.size() > 0)
+            {
+                ${className}Mapper.batch${subClassName}(list);
+            }
+        }
+    }
+#end
 }

--
Gitblit v1.9.3