From e46007c15f1e8bbf80e4002ae2b31aeb604a1e9f Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期五, 30 七月 2021 22:03:59 +0800
Subject: [PATCH] 优化代码生成模板

---
 src/main/resources/vm/java/serviceImpl.java.vm |   77 +++++++++++++++++++++++++++++++++-----
 1 files changed, 67 insertions(+), 10 deletions(-)

diff --git a/src/main/resources/vm/java/serviceImpl.java.vm b/src/main/resources/vm/java/serviceImpl.java.vm
index 05a3de8..da6b0e7 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;
@@ -28,13 +34,13 @@
     /**
      * 鏌ヨ${functionName}
      * 
-     * @param ${pkColumn.javaField} ${functionName}ID
+     * @param ${pkColumn.javaField} ${functionName}涓婚敭
      * @return ${functionName}
      */
     @Override
-    public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField})
+    public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
     {
-        return ${className}Mapper.select${ClassName}ById(${pkColumn.javaField});
+        return ${className}Mapper.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
     }
 
     /**
@@ -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})
     {
@@ -80,30 +98,69 @@
         ${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});
     }
 
     /**
-     * 鎵归噺鍒犻櫎${functionName}
+     * 鍒犻櫎${functionName}瀵硅薄
      * 
-     * @param ${pkColumn.javaField}s 闇�瑕佸垹闄ょ殑${functionName}ID
+     * @param ${pkColumn.javaField}s 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭
      * @return 缁撴灉
      */
+#if($table.sub)
+    @Transactional
+#end
     @Override
-    public int delete${ClassName}ByIds(${pkColumn.javaType}[] ${pkColumn.javaField}s)
+    public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s)
     {
-        return ${className}Mapper.delete${ClassName}ByIds(${pkColumn.javaField}s);
+#if($table.sub)
+        ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
+#end
+        return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s);
     }
 
     /**
      * 鍒犻櫎${functionName}淇℃伅
      * 
-     * @param ${pkColumn.javaField} ${functionName}ID
+     * @param ${pkColumn.javaField} ${functionName}涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int delete${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField})
+    public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
     {
-        return ${className}Mapper.delete${ClassName}ById(${pkColumn.javaField});
+#if($table.sub)
+        ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
+#end
+        return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
     }
+#if($table.sub)
+
+    /**
+     * 鏂板${subTable.functionName}淇℃伅
+     * 
+     * @param ${className} ${functionName}瀵硅薄
+     */
+    public void insert${subClassName}(${ClassName} ${className})
+    {
+        List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
+        ${pkColumn.javaType} ${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