Răsfoiți Sursa

代码生成

x1ongzhu 6 ani în urmă
părinte
comite
bc6758ed5d

+ 7 - 42
src/main/resources/templates/ControllerTemplate.vm

@@ -20,19 +20,15 @@ import com.izouma.awesomeadmin.service.${model.className}Service;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-/**
-*  controller类
-*/
 @Controller
 @RequestMapping("/$display.uncapitalize($model.className)")
 public class ${model.className}Controller {
-
+    <!--generatedStart-->
     @Autowired
     private ${model.className}Service $display.uncapitalize(${model.className})Service;
+    <!--generatedEnd-->
 
-    /**
-    * <p>获取全部记录。</p>
-    */
+    <!--generatedStart-->
     @RequiresAuthentication
     @RequestMapping(value = "/all", method = RequestMethod.GET)
     @ResponseBody
@@ -41,9 +37,6 @@ public class ${model.className}Controller {
         return new Result(true, pp);
     }
 
-    /**
-    * <p>根据Id。</p>
-    */
     @RequestMapping(value = "/get${model.className}", method = RequestMethod.GET)
     @ResponseBody
     public Result get${model.className}(@RequestParam(required = false, value = "id") String id) {
@@ -51,9 +44,6 @@ public class ${model.className}Controller {
         return new Result(true, data);
     }
 
-    /**
-    * <p>根据条件获取。</p>
-    */
     @RequestMapping(value = "/getOne", method = RequestMethod.GET)
     @ResponseBody
     public Result getOne(${model.className} record) {
@@ -61,10 +51,6 @@ public class ${model.className}Controller {
         return new Result(true, data);
     }
 
-
-    /**
-    * <p>分页查询。</p>
-    */
     @RequestMapping(value = "/page", method = RequestMethod.GET)
     @ResponseBody
     public Result page(Page page, ${model.className} record) {
@@ -77,10 +63,6 @@ public class ${model.className}Controller {
         return new Result(true, result);
     }
 
-
-    /**
-    * <p>保存。</p>
-    */
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ResponseBody
     public Result save(${model.className} record) {
@@ -91,9 +73,6 @@ public class ${model.className}Controller {
         return new Result(false, "保存异常");
     }
 
-    /**
-    * <p>更新信息。</p>
-    */
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @ResponseBody
     public Result update${model.className}(${model.className} record) {
@@ -104,9 +83,6 @@ public class ${model.className}Controller {
         return new Result(false, "保存异常");
     }
 
-    /**
-    * <p>删除。</p>
-    */
     @RequestMapping(value = "/del", method = RequestMethod.POST)
     @ResponseBody
     public Result delete${model.className}(${model.className} record) {
@@ -118,19 +94,11 @@ public class ${model.className}Controller {
         return new Result(false, "删除异常");
     }
 
-    /**
-    * 导出Excel
-    * @param request
-    * @param response
-    * @param record
-    * @throws Exception
-    */
     @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
     @ResponseBody
     public void exportExcel(HttpServletRequest request, HttpServletResponse response, ${model.className} record) throws Exception {
 
-    List<${model.className}> ${display.uncapitalize(${model.className})}s = ${display.uncapitalize(${model.className})}Service.get${model.className}List(record);
-
+        List<${model.className}> ${display.uncapitalize(${model.className})}s = ${display.uncapitalize(${model.className})}Service.get${model.className}List(record);
 
         String sheetName = "${model.tableName}";
         String titleName = "${model.remark}数据表";
@@ -141,17 +109,14 @@ public class ${model.className}Controller {
         String[][] dataList = new String[${display.uncapitalize(${model.className})}s.size()][${model.fields.size()}];
 
         for (int i = 0; i < ${display.uncapitalize(${model.className})}s.size(); i++) {
-
             #foreach(${field} in ${model.fields})
             dataList[i][${foreach.index}] = String.valueOf(${display.uncapitalize(${model.className})}s.get(i).get${display.capitalize($field.modelName)}());
             #end
         }
 
-
         ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
-        columnNumber, columnWidth, columnName, dataList, response);
-
-
-        }
+                columnNumber, columnWidth, columnName, dataList, response);
     }
+    <!--generatedEnd-->
+}
 

+ 317 - 206
src/main/resources/templates/CreateTable.vm

@@ -1,128 +1,149 @@
 <template>
     <div>
-        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
+        <el-form :model="formData" :rules="rules" ref="form" label-width="120px" label-position="right" size="small"
                  style="max-width: 500px;">
-            #foreach($field in $model.fields)
-                #if(${field.showInForm})
-                    #if(${field.formType}=="singleLineText")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <el-input v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></el-input>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="textarea")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <el-input type="textarea" v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></el-input>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="number")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <el-input type="number" v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></el-input>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="date")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <template>
-                    <div class="block">
-                        <el-date-picker
-                                v-model="formData.${field.modelName}"
-                                type="date"
-                                value-format="timestamp"
-                                placeholder="选择日期"
-                                :disabled="'${field.modelName}'==subColumn">
-                        </el-date-picker>
-                    </div>
-                </template>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="datetime")
-                        <el-form-item prop="${field.modelName}" label="${field.remark}">
-                            <template>
-                                <div class="block">
-                                    <el-date-picker
-                                            v-model="formData.${field.modelName}"
-                                            type="datetime"
-                                            value-format="timestamp"
-                                            placeholder="选择日期"
-                                            :disabled="'${field.modelName}'==subColumn">
-                                    </el-date-picker>
-                                </div>
-                            </template>
-                        </el-form-item>
-                    #end
-                    #if(${field.formType}=="select")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <template>
-                    <el-select v-model="formData.${field.modelName}" clearable  placeholder="请选择" :disabled="'${field.modelName}'==subColumn">
-                        <el-option
-                                v-for="item in ${field.modelName}Options"
-                                :key="item.value"
-                                :label="item.label"
-                                :value="item.value">
-                        </el-option>
-                    </el-select>
-                </template>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="multiSelect")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <template>
-                    <el-select v-model="formData.${field.modelName}" multiple clearable placeholder="请选择" :disabled="'${field.modelName}'==subColumn">
-                        <el-option
-                                v-for="item in ${field.modelName}Options"
-                                :key="item.value"
-                                :label="item.label"
-                                :value="item.value">
-                        </el-option>
-                    </el-select>
-                </template>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="singleImage")
-             <el-form-item prop="${field.modelName}" label="${field.remark}">
-                 <single-upload v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></single-upload>
-             </el-form-item>
-                    #end
-                    #if(${field.formType}=="multiImage")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <multi-upload v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></multi-upload>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="fileUpload")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <el-upload
-                        class="upload-demo"
-                        action="../assets/uploadFile"
-                        :on-change="handleChange"
-                        :file-list="fileList3">
-                    <el-button size="small" type="primary" :disabled="'${field.modelName}'==subColumn" >点击上传</el-button>
-                    <div slot="tip" class="el-upload__tip">只能上传jpg/png文件 ,且不超过500kb</div>
-                </el-upload>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="tree")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <el-tree
-                        :props="props"
-                        :load="loadNode"
-                        lazy
-                        show-checkbox
-                        @check-change="handleCheckChange"
-                        :disabled="'${field.modelName}'==subColumn">
-                </el-tree>
-            </el-form-item>
-                    #end
-                    #if(${field.formType}=="switch")
-            <el-form-item prop="${field.modelName}" label="${field.remark}">
-                <el-switch
-                        v-model="formData.${field.modelName}"
-                        active-color="#13ce66"
-                        inactive-color="#ff4949"
-                        :disabled="'${field.modelName}'==subColumn">
-                </el-switch>
-            </el-form-item>
-                    #end
-                #end
-            #end
+#*        *##foreach($field in $model.fields)
+#*            *##if(${field.showInForm})
+#*                *##if(${field.formType}=="singleLineText")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-input v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></el-input>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="textarea")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-input type="textarea" v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></el-input>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="number")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-input type="number" v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></el-input>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="date")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <template>
+#*        *#                    <div class="block">
+#*        *#                        <el-date-picker
+#*        *#                            v-model="formData.${field.modelName}"
+#*        *#                            type="date"
+#*        *#                            value-format="timestamp"
+#*        *#                            placeholder="选择日期"
+#*        *#                            :disabled="'${field.modelName}'==subColumn">
+#*        *#                        </el-date-picker>
+#*        *#                    </div>
+#*        *#                </template>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="datetime")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <template>
+#*        *#                    <div class="block">
+#*        *#                        <el-date-picker
+#*        *#                            v-model="formData.${field.modelName}"
+#*        *#                            type="datetime"
+#*        *#                            value-format="timestamp"
+#*        *#                            placeholder="选择日期"
+#*        *#                            :disabled="'${field.modelName}'==subColumn">
+#*        *#                        </el-date-picker>
+#*        *#                    </div>
+#*        *#                </template>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="select")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <template>
+#*        *#                    <el-select v-model="formData.${field.modelName}" clearable  placeholder="请选择" :disabled="'${field.modelName}'==subColumn">
+#*        *#                        <el-option
+#*        *#                            v-for="item in ${field.modelName}Options"
+#*        *#                            :key="item.value"
+#*        *#                            :label="item.label"
+#*        *#                            :value="item.value">
+#*        *#                        </el-option>
+#*        *#                    </el-select>
+#*        *#                </template>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="multiSelect")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <template>
+                                <el-select v-model="formData.${field.modelName}" multiple clearable placeholder="请选择" :disabled="'${field.modelName}'==subColumn">
+                                    <el-option
+                                            v-for="item in ${field.modelName}Options"
+                                            :key="item.value"
+                                            :label="item.label"
+                                            :value="item.value">
+                                    </el-option>
+                                </el-select>
+#*        *#                </template>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="singleImage")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+                            <single-upload v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></single-upload>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="multiImage")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+                            <multi-upload v-model="formData.${field.modelName}" :disabled="'${field.modelName}'==subColumn"></multi-upload>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="fileUpload")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-upload
+                                    class="upload-demo"
+                                    action="../assets/uploadFile"
+                                    :on-change="handleChange"
+                                    :file-list="fileList3">
+                                <el-button size="small" type="primary" :disabled="'${field.modelName}'==subColumn" >点击上传</el-button>
+                                <div slot="tip" class="el-upload__tip">只能上传jpg/png文件 ,且不超过500kb</div>
+#*        *#                </el-upload>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="tree")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-tree
+                                    :props="props"
+                                    :load="loadNode"
+                                    lazy
+                                    show-checkbox
+                                    @check-change="handleCheckChange"
+                                    :disabled="'${field.modelName}'==subColumn">
+#*        *#                </el-tree>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="switch")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-switch
+                                    v-model="formData.${field.modelName}"
+                                    :disabled="'${field.modelName}'==subColumn">
+#*        *#                </el-switch>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="richText")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+                            <rich-text
+                                    v-model="formData.${field.modelName}"
+                                    :disabled="'${field.modelName}'==subColumn">
+                            </rich-text>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="loginName")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-input v-model="formData.${field.modelName}" disabled></el-input>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="currentTime")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-input v-model="formData.${field.modelName}" disabled></el-input>
+#*        *#            </el-form-item>
+#*                *##end
+#*                *##if(${field.formType}=="currentDate")
+#*        *#            <el-form-item prop="${field.modelName}" label="${field.remark}">
+#*        *#                <el-input v-model="formData.${field.modelName}" disabled></el-input>
+#*        *#            </el-form-item>
+#*                *##end
+#*            *##end
+#*        *##end
             <el-form-item>
                 <el-button @click="onSave" :loading="${esc.d}store.state.fetchingData" type="primary">保存</el-button>
                 <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
@@ -133,9 +154,14 @@
 </template>
 <script>
     import formValidator from '../formValidator'
+    import { mapState } from 'vuex'
+    import { format } from 'date-fns'
+    import zh from 'date-fns/locale/zh_cn'
 
     export default {
+        name: '${model.className}',
         created() {
+
             if (this.${esc.d}route.query.column) {
                 this.subColumn = this.${esc.d}route.query.column.split(',')[1];
                 this.subValue = this.${esc.d}route.query.column.split(',')[0];
@@ -149,27 +175,32 @@
                     }
                 }).then(res => {
                     if (res.success) {
-
                         #foreach($field in $model.fields)
                             #if(${field.formType}=="multiSelect")
-
                                 if(res.data.${field.modelName}){
                                     res.data.${field.modelName} = res.data.${field.modelName}.split(',');
                                 }else{
                                     res.data.${field.modelName} = [];
                                 }
-
+                            #end
+                            #if(${field.formType}=="currentTime")
+                                if(res.data.${field.modelName}){
+                                    res.data.${field.modelName} = format(new Date(res.data.${field.modelName}), 'YYYY/MM/DD HH:mm', { locale: zh });
+                                }
+                            #end
+                            #if(${field.formType}=="currentDate")
+                                if(res.data.${field.modelName}){
+                                    res.data.${field.modelName} = format(new Date(res.data.${field.modelName}), 'YYYY/MM/DD', { locale: zh });
+                                }
                             #end
                         #end
-
                         this.formData = res.data;
-
-                    if (this.${esc.d}route.query.column) {
-                        this.formData[this.subColumn] = this.subValue;
-                    }
+                        if (this.${esc.d}route.query.column) {
+                            this.formData[this.subColumn] = this.subValue;
+                        }
                     }
                 })
-            }else {
+            } else {
                 if (this.${esc.d}route.query.column) {
                     this.formData[this.subColumn] = this.subValue;
                 }
@@ -177,103 +208,183 @@
 
             #foreach($field in $model.fields)
                 #if(${field.formType}=="select"||${field.formType}=="multiSelect")
-                    #if(${field.apiFlag})
-
-
-
+#*                *##if(${field.apiFlag}=="2")
                         this.${esc.d}http.get({
-                        url:'${field.optionsValue.split(",")[0]}'
+                            url:'${field.optionsMethod}'
                         }).then(res => {
-                        if (res.success) {
+                            if (res.success) {
 
-                        if (res.data.length > 0) {
-                        res.data.forEach(item => {
-                        this.${field.modelName}Options.push({label: item.${field.optionsValue.split(",")[1]}, value:item.${field.optionsValue.split(",")[2]}});
-                        })
-                        }
-                        }
+                                if (res.data.length > 0) {
+                                    res.data.forEach(item => {
+                                        this.${field.modelName}Options.push({label: item.${field.optionsLabel}, value:item.${field.optionsValue}#if(${field.formType}=="multiSelect") +'' #end});
+                                    })
+                                }
+                            }
                         });
-                    #end
+                    #elseif(${field.apiFlag}=="3")
+                        this.${esc.d}http.get({
+                            url:'/commonQuery/all',
+                            data: {
+                                tableName: '${field.optionsMethod}',
+                                databasetype: '${field.optionsDataBaseType}',
+                                dataSourceCode: '${field.optionsDataSourceCode}',
+                            }
+                        }).then(res => {
+                            if (res.success) {
+                                if (res.data.length > 0) {
+                                    res.data.forEach(item => {
+                                        this.${field.modelName}Options.push({label: item.${field.optionsLabel}, value:item.${field.optionsValue}});
+                                    })
+                                }
+                            }
+                        });
+#*                *##end
+                #end
+                #if(${field.formType}=="loginName")
+                    this.formData.${field.modelName} = this.userInfo.username;
                 #end
             #end
         },
         data() {
             return {
                 saving: false,
-                formData: {},
+                formData: {
+#*                *##foreach($field in $model.fields)
+#*                    *##if(${field.formType}=="loginName")
+#*    *#                    ${field.modelName}:'',
+#*                    *##end
+#*                    *##if(${field.formType}=="currentTime")
+#*                        *#${field.modelName}:format(new Date(), 'YYYY/MM/DD HH:mm', { locale: zh }),
+#*                    *##end
+#*                    *##if(${field.formType}=="currentDate")
+#*    *#                    ${field.modelName}:format(new Date(), 'YYYY/MM/DD', { locale: zh }),
+#*                    *##end
+#*                *##end
+                },
                 rules: {
-            #foreach($field in $model.fields)
-                #if(${field.required}||${field.validate})
-                    ${field.modelName}:
-                    [
-                        #if(${field.required})
-                        {required: true, message: '请输入 $display.alt(${field.remark},${field.modelName})', trigger: 'blur'},
-                        #end
-                        #if(${field.validate})
-                        #if(${field.maxLength}&&${field.minLength})
-                        { min: ${field.minLength}, max: ${field.maxLength}, message: '长度在 ${field.minLength} 到 ${field.maxLength} 个字符', trigger: 'blur' },
-                        #end
-                        #if(${field.min}&&${field.max})
-                            {
-                                validator: (rule, value, callback) => {
-                                    if (value) {
-                                        if (value <= ${field.max} && value >= ${field.min}) {
-                                            callback();
-                                        } else {
-                                            callback(new Error('值在 ${field.min} 到 ${field.max} 之间'));
-                                        }
-                                    }
-                                }, trigger: 'blur'
-                            },
-                        #end
-                        #if(${field.validatorType}=="phone")
-                         formValidator.phone,
-                        #end
-                        #if(${field.validatorType}=="number")
-                         formValidator.number,
-                        #end
-                        #if(${field.validatorType}=="url")
-                         formValidator.url,
-                        #end
-                        #if(${field.validatorType}=="email")
-                         formValidator.email,
-                        #end
-                        #if(${field.validatorType}=="idCard")
-                         formValidator.idCard,
-                        #end
-                        #if(${field.validatorType}=="english")
-                         formValidator.english,
-                        #end
-                        #end
+#*            *##foreach($field in $model.fields)
+#*                *##if(${field.required}||${field.validate})
+#**#                    ${field.modelName}: [
+#*                    *##if(${field.required})
+#**#                        {required: true, message: '请输入 $display.alt(${field.remark},${field.modelName})', trigger: 'blur'},
+#*                    *##end
+#*                    *##if(${field.validate})
+#*                        *##if(${field.maxLength}&&${field.minLength})
+#**#                        { min: ${field.minLength}, max: ${field.maxLength}, message: '长度在 ${field.minLength} 到 ${field.maxLength} 个字符', trigger: 'blur' },
+#*                        *##end
+#*                        *##if(${field.min}&&${field.max})
+#**#                        {
+#**#                            validator: (rule, value, callback) => {
+#**#                                if (value) {
+#**#                                    if (value <= ${field.max} && value >= ${field.min}) {
+#**#                                        callback();
+#**#                                    } else {
+#**#                                        callback(new Error('值在 ${field.min} 到 ${field.max} 之间'));
+#**#                                    }
+#**#                                }
+#**#                            }, trigger: 'blur'
+#**#                        },
+#*                        *##end
+#*                        *##if(${field.validatorType}=="phone")
+#*    *#                        formValidator.phone,
+#*                        *##end
+#*                        *##if(${field.validatorType}=="number")
+#*    *#                        formValidator.number,
+#*                        *##end
+#*                        *##if(${field.validatorType}=="url")
+#*    *#                        formValidator.url,
+#*                        *##end
+#*                        *##if(${field.validatorType}=="email")
+#*    *#                        formValidator.email,
+#*                        *##end
+#*                        *##if(${field.validatorType}=="idCard")
+#*    *#                        formValidator.idCard,
+#*                        *##end
+#*                        *##if(${field.validatorType}=="english")
+#*    *#                        formValidator.english,
+#*                        *##end
+#*                    *##end
                     ],
-                #end
-            #end
+#*                *##end
+#*            *##end
+                },
+#*        *##foreach($field in $model.fields)
+#*            *##if(${field.formType}=="select"||${field.formType}=="multiSelect")
+#*                *##if(${field.apiFlag}=="2"||${field.apiFlag}=="3")
+#*        *#            ${field.modelName}Options:[],
+#*                *##else
+#*        *#            ${field.modelName}Options:${field.optionsValue},
+#*                *##end
+#*            *##end
+#*        *##end
+                subColumn: '',
+                subValue: '',
+            }
         },
-#foreach($field in $model.fields)
-    #if(${field.formType}=="select"||${field.formType}=="multiSelect")
-        #if(${field.apiFlag})
-            ${field.modelName}Options:[],
-        #else
-            ${field.modelName}Options:${field.optionsValue},
-        #end
-        #end
-    #end
-            subColumn: '',
-            subValue: '',
-        }
+        computed: {
+            ...mapState(['userInfo']),
         },
         methods: {
             onSave() {
                 this.${esc.d}refs.form.validate((valid) => {
                     if (valid) {
-                        this.submit();
+                        this.logicalValidate();
                     } else {
                         return false;
                     }
                 });
             },
+            logicalValidate() {
+                let logicalData = {
+#*            *##foreach($field in $model.fields)
+#*                *##if(${field.logicalKey})
+#**#                    ${field.modelName}:data.${field.modelName},
+#*                *##end
+#*            *##end
+                };
+
+                if (JSON.stringify(logicalData) == '{}') {
+                    this.submit();
+                } else {
+                    this.${esc.d}http.get({
+                        url: '/${display.uncapitalize($model.className)}/getOne',
+                        data: logicalData
+                    }).then(res => {
+                        if (res.success) {
+                            let logicalFlag = true;
+                            if (res.data) {
+                                if (this.formData.id) {
+                                    if (res.data.id != this.formData.id) {
+                                        logicalFlag = false;
+                                    }
+                                } else {
+                                    logicalFlag = false;
+                                }
+                            }
+
+                            if (logicalFlag) {
+                                this.submit();
+                            } else {
+                                this.${esc.d}message.warning('逻辑关键字:'+'#foreach($field in $model.fields)#if(${field.logicalKey})${field.remark},#end#end'+'验证失败')
+                            }
+
+                        } else {
+                            this.${esc.d}message.warning('逻辑关键字:'+'#foreach($field in $model.fields)#if(${field.logicalKey})${field.remark},#end#end'+'验证失败')
+                        }
+                    });
+                }
+            },
             submit() {
-                var data = JSON.parse(JSON.stringify(this.formData));
+                let data = {...this.formData};
+
+                #foreach($field in $model.fields)
+#*                *##if(${field.formType}=="currentTime"||${field.formType}=="currentDate")
+#*    *#                if(data.${field.modelName}){
+#*    *#                    data.${field.modelName} = Date.parse(new Date(data.${field.modelName}));
+#*    *#                }
+#*                *##end
+                #end
+
                 this.${esc.d}http.post({
                     url: this.formData.id ? '/${display.uncapitalize($model.className)}/update' : '/${display.uncapitalize($model.className)}/save',
                     data: data
@@ -289,8 +400,8 @@
             onDelete() {
                 this.${esc.d}alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
                     return this.${esc.d}http.post({
-                    url: '/${display.uncapitalize($model.className)}/del',
-                    data: { id: this.formData.id }
+                        url: '/${display.uncapitalize($model.className)}/del',
+                        data: { id: this.formData.id }
                     })
                 }).then(() => {
                     this.${esc.d}message.success('删除成功');

+ 8 - 7
src/main/resources/templates/ListTemplate.vm

@@ -50,7 +50,7 @@
             #foreach($field in $model.fields)
                 #if(${field.showInList})
 
-                    #if(${field.formType}=="date")
+                    #if(${field.formType}=="date"||${field.formType}=="currentDate")
                         <el-table-column
                                 v-if="isColumnShow('${field.modelName}')"
                                 prop="${field.modelName}"
@@ -58,7 +58,7 @@
                                 :formatter="DateFormatter"
                                 min-width="100">
                         </el-table-column>
-                    #elseif(${field.formType}=="datetime")
+                    #elseif(${field.formType}=="datetime"||${field.formType}=="currentTime")
                         <el-table-column
                                 v-if="isColumnShow('${field.modelName}')"
                                 prop="${field.modelName}"
@@ -77,7 +77,7 @@
                             </template>
 
                         </el-table-column>
-                        #else
+                    #else
                         <el-table-column
                                 v-if="isColumnShow('${field.modelName}')"
                                 prop="${field.modelName}"
@@ -94,10 +94,10 @@
                     min-width="150"
             >
                 <template slot-scope="scope">
-        #foreach($subtable in $model.subtables)
-            <el-button @click="${esc.d}router.push({path:'/${subtable.subCode}s',query:{column:scope.row.${subtable.column}+',${subtable.subColumn}'}})" type="primary" size="small" plain>${subtable.name}
-            </el-button>
-        #end
+                    #foreach($subtable in $model.subtables)
+                        <el-button @click="${esc.d}router.push({path:'/${subtable.subCode}s',query:{column:scope.row.${subtable.column}+',${subtable.subColumn}'}})" type="primary" size="small" plain>${subtable.name}
+                        </el-button>
+                    #end
                     <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
                     <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
                 </template>
@@ -220,6 +220,7 @@
     import zh from 'date-fns/locale/zh_cn'
 
     export default {
+        name: '${model.className}s',
         created() {
             this.getData();
         },

+ 3 - 1
src/main/resources/templates/MapperTemplate.vm

@@ -17,7 +17,7 @@ import com.izouma.awesomeadmin.model.${model.className};
 #end
 @Repository("com.zoumaframe.dao.${model.className}Mapper")
 public interface ${model.className}Mapper{
-
+    <!--generatedStart-->
     int deleteByPrimaryKey(Integer id);
 
     int insertSelective(${model.className} record);
@@ -35,5 +35,7 @@ public interface ${model.className}Mapper{
     ${model.className} query${model.className}(${model.className} record);
 
     List<${model.className}> query(${model.className} record);
+    <!--generatedEnd-->
+
 }
 

+ 1 - 4
src/main/resources/templates/MapperXmlSqlServerTemplate.vm

@@ -12,9 +12,7 @@
         #end
     </resultMap>
     <sql id="Base_Column_List">
-        #foreach($field in $model.fields)
-            ${field.name}#if($foreach.count!=$model.fields.size()),#end
-        #end
+        #foreach($field in $model.fields)#if(${foreach.index}!=0), #end${field.name}#end
     </sql>
     <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
         select
@@ -221,7 +219,6 @@
         <if test="idStr != null and !&quot;&quot;.equals(idStr)">
             id in (${esc.d}{idStr})
         </if>
-
     </delete>
 
     <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.${model.className}">

+ 177 - 177
src/main/resources/templates/MapperXmlTemplate.vm

@@ -1,93 +1,105 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.izouma.awesomeadmin.dao.${model.className}Mapper" >
-    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.${model.className}" >
-#foreach($field in $model.fields)
-        #if(${field.name}=='id')
-        <id column="id" property="id" jdbcType="INTEGER" />
-        #end
-        #if(${field.name}!='id')
-        <result column="${field.name}" property="$field.modelName" jdbcType="$field.sqlType" />
-        #end
-#end
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.izouma.awesomeadmin.dao.${model.className}Mapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.${model.className}">
+        <!--generatedStart-->
+#*    *##foreach($field in $model.fields)
+#*        *##if(${field.name}=='id')
+#*    *#        <id column="id" property="id" jdbcType="INTEGER"/>
+#*        *##end
+#*        *##if(${field.name}!='id')
+#*    *#        <result column="${field.name}" property="$field.modelName" jdbcType="$field.sqlType"/>
+#*        *##end
+#*    *##end
+        <!--generatedEnd-->
     </resultMap>
-    <sql id="Base_Column_List" >
-        <trim  suffixOverrides="," >
-    #foreach($field in $model.fields)
-        ${field.name},
 
-    #end
-        </trim>
+    <!--generatedStart-->
+    <sql id="Base_Column_List">
+        #foreach($field in $model.fields)
+#*        *#${field.name}#if( $foreach.hasNext ), #end
+#*    *##end
+
     </sql>
-    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
-        select
-        <include refid="Base_Column_List" />
-        from $model.tableName
-        where id = #{id,jdbcType=INTEGER}
+
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM $model.tableName
+        WHERE id = #{id,jdbcType=INTEGER}
     </select>
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
-        delete from $model.tableName
-        where id = #{id,jdbcType=INTEGER}
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        DELETE
+        FROM $model.tableName
+        WHERE id = #{id,jdbcType=INTEGER}
     </delete>
+
     <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.${model.className}" useGeneratedKeys="true" keyProperty="id">
-        insert into $model.tableName
-        <trim prefix="(" suffix=")" suffixOverrides="," >
-    #foreach($field in $model.fields)
-            <if test="$field.modelName!= null" >
-                ${field.name},
-            </if>
-    #end
+        INSERT INTO $model.tableName
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <!--generatedStart-->
+#*        *##foreach($field in $model.fields)
+#**#            <if test="$field.modelName!= null">
+#**#                ${field.name},
+#**#            </if>
+#*        *##end
+            <!--generatedEnd-->
         </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides="," >
-        #foreach($field in $model.fields)
-            <if test="$field.modelName != null" >
-                #{$field.modelName,jdbcType=${field.sqlType}},
-            </if>
-        #end
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <!--generatedStart-->
+#*        *##foreach($field in $model.fields)
+#**#            <if test="$field.modelName != null">
+#**#                #{$field.modelName,jdbcType=${field.sqlType}},
+#**#            </if>
+#*        *##end
+            <!--generatedEnd-->
         </trim>
     </insert>
-    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.${model.className}" >
-        update $model.tableName
-        <set >
-        #foreach($field in $model.fields)
-            <if test="$field.modelName != null" >
-               ${field.name}= #{$field.modelName,jdbcType=${field.sqlType}},
-            </if>
-         #end
+
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.${model.className}">
+        UPDATE $model.tableName
+        <set>
+            <!--generatedStart-->
+#*        *##foreach($field in $model.fields)
+#**#            <if test="$field.modelName != null">
+#**#                ${field.name}= #{$field.modelName,jdbcType=${field.sqlType}},
+#**#            </if>
+#*        *##end
+            <!--generatedEnd-->
         </set>
-        where
+        WHERE
         <if test="id != null and !&quot;&quot;.equals(id)">
             id = #{id,jdbcType=INTEGER}
         </if>
-
         <if test="idStr != null and !&quot;&quot;.equals(idStr)">
-            id in (${esc.d}{idStr})
+            id IN (${esc.d}{idStr})
         </if>
-
     </update>
+
     <select id="query${model.className}ByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.${model.className}">
-        select <include refid="Base_Column_List"/> from ${model.tableName}
+        SELECT <include refid="Base_Column_List"/> FROM ${model.tableName}
         <where>
-            and del_flag = 'N'
+            AND del_flag = 'N'
             <if test="record.idStr != null and !&quot;&quot;.equals(record.idStr)">
-                and id in (${esc.d}{record.idStr})
+                AND id IN (${esc.d}{record.idStr})
             </if>
-        #foreach($field in $model.fields)
+            <!--generatedStart-->
+#*        *##foreach($field in $model.fields)
             <if test="record.$field.modelName != null and !&quot;&quot;.equals(record.$field.modelName)">
-                and  ${field.name} = #{record.$field.modelName}
+                AND ${field.name} = #{record.$field.modelName}
+            </if>
+#*        *##end
+            <!--generatedEnd-->
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    <!--generatedStart-->
+#*                *##foreach($field in $model.fields)#if(${field.name}!='id'&&${field.name}!='ID'&&${field.searchable})
+#**#                    OR ${field.name} LIKE concat('%',#{record.searchKey},'%')
+#*                *##end#end
+                    <!--generatedEnd-->
+                </trim>
             </if>
-         #end
-         <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
-             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
-             #foreach($field in $model.fields)
-                 #if(${field.name}!='id'&&${field.name}!='ID')
-                  #if(${field.searchable})
-                 OR  ${field.name} LIKE concat('%',#{record.searchKey},'%')
-                  #end
-                 #end
-             #end
-             </trim>
-         </if>
 
             <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
                 <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
@@ -97,11 +109,9 @@
                                 <if test="detailIndex == 3">
                                     concat('%',#{itemDetail},'%')
                                 </if>
-
                                 <if test="detailIndex &lt; 3">
                                     ${esc.d}{itemDetail}
                                 </if>
-
                             </foreach>
                         </when>
                         <otherwise>
@@ -109,27 +119,17 @@
                                 <if test="detailIndex == 3">
                                     #{itemDetail}
                                 </if>
-
                                 <if test="detailIndex &lt; 3">
                                     ${esc.d}{itemDetail}
                                 </if>
-
                             </foreach>
                         </otherwise>
                     </choose>
-
-
                 </foreach>
-
-
             </if>
-
         </where>
-        order by
-
+        ORDER BY
         <if test="record.orderByStr != null and !&quot;&quot;.equals(record.orderByStr)">
-
-
             <trim suffixOverrides=",">
                 <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
                     <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
@@ -139,71 +139,65 @@
             </trim>
             ,
         </if>
-        id desc
+        id DESC
     </select>
+
     <select id="queryAll${model.className}" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.${model.className}">
-        select <include refid="Base_Column_List"/> from ${model.tableName}
+        SELECT <include refid="Base_Column_List"/> FROM ${model.tableName}
         <where>
-            and del_flag = 'N'
+            AND del_flag = 'N'
             <if test="idStr != null and !&quot;&quot;.equals(idStr)">
-                and id in (${esc.d}{idStr})
+                AND id IN (${esc.d}{idStr})
             </if>
-        #foreach($field in $model.fields)
+            <!--generatedStart-->
+#*        *##foreach($field in $model.fields)
             <if test="$field.modelName != null and !&quot;&quot;.equals($field.modelName)">
-                and  ${field.name} = #{$field.modelName}
+                AND ${field.name} = #{$field.modelName}
             </if>
-        #end
+#*        *##end
+            <!--generatedEnd-->
             <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
-                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
-                    #foreach($field in $model.fields)
-                        #if(${field.name}!='id'&&${field.name}!='ID')
-                            #if(${field.searchable})
-                            OR  ${field.name} LIKE concat('%',#{searchKey},'%')
-                            #end
-                        #end
-                    #end
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    <!--generatedStart-->
+#*                *##foreach($field in $model.fields)
+#*                    *##if(${field.name}!='id'&&${field.name}!='ID')
+#*                        *##if(${field.searchable})
+#*        *#                    OR ${field.name} LIKE concat('%',#{searchKey},'%')
+#*                        *##end
+#*                    *##end
+#*                *##end
+                    <!--generatedEnd-->
                 </trim>
             </if>
-<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
-    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
-        <choose>
-            <when test="item.indexOf('like') != -1">
-                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
-                    <if test="detailIndex == 3">
-                        concat('%',#{itemDetail},'%')
-                    </if>
-
-                    <if test="detailIndex &lt; 3">
-                        ${esc.d}{itemDetail}
-                    </if>
-
-                </foreach>
-            </when>
-            <otherwise>
-                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
-                    <if test="detailIndex == 3">
-                        #{itemDetail}
-                    </if>
-
-                    <if test="detailIndex &lt; 3">
-                        ${esc.d}{itemDetail}
-                    </if>
-
+            <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+                <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
+                                <if test="detailIndex &lt; 3">
+                                    ${esc.d}{itemDetail}
+                                </if>
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
+                                <if test="detailIndex &lt; 3">
+                                    ${esc.d}{itemDetail}
+                                </if>
+                            </foreach>
+                        </otherwise>
+                    </choose>
                 </foreach>
-            </otherwise>
-        </choose>
-
-
-    </foreach>
-
-
-</if>
+            </if>
         </where>
-        order by
-
+        ORDER BY
         <if test="orderByStr != null and !&quot;&quot;.equals(orderByStr)">
-
-
             <trim suffixOverrides=",">
                 <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
                     <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
@@ -213,70 +207,76 @@
             </trim>
             ,
         </if>
-
-        id desc
+        id DESC
     </select>
+
     <select id="query${model.className}" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.${model.className}">
-        select <include refid="Base_Column_List"/> from ${model.tableName}
+        SELECT <include refid="Base_Column_List"/> FROM ${model.tableName}
         <where>
-            and del_flag = 'N'
-        #foreach($field in $model.fields)
+            AND del_flag = 'N'
+            <!--generatedStart-->
+#*        *##foreach($field in $model.fields)
             <if test="$field.modelName != null and !&quot;&quot;.equals($field.modelName)">
-                and ${field.name} = #{$field.modelName}
+                AND ${field.name} = #{$field.modelName}
             </if>
-         #end
-
+#*        *##end
+            <!--generatedEnd-->
         </where>
         LIMIT 1
     </select>
+
     <update id="delete">
         UPDATE ${model.tableName} SET del_flag = 'Y'
-        where
+        WHERE
         <if test="id != null and !&quot;&quot;.equals(id)">
             id = #{id,jdbcType=INTEGER}
         </if>
-
         <if test="idStr != null and !&quot;&quot;.equals(idStr)">
-            id in (${esc.d}{idStr})
+            id IN (${esc.d}{idStr})
         </if>
     </update>
+
     <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.${model.className}">
-        select <include refid="Base_Column_List"/> from ${model.tableName}
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM ${model.tableName}
         <where>
-            and del_flag = 'N'
-            #foreach($field in $model.fields)
-                #if(${field.searchable})
-                    #if(${field.searchMethod}=="=")
-                        and ${field.name} = #{$field.modelName}
-                    #end
-                    #if(${field.searchMethod}=="!=")
-                        and ${field.name} != #{$field.modelName}
-                    #end
-                    #if(${field.searchMethod}==">")
-                        and ${field.name} > #{$field.modelName}
-                    #end
-                    #if(${field.searchMethod}==">=")
-                        and ${field.name} >= #{$field.modelName}
-                    #end
-                    #if(${field.searchMethod}=="<")
-                        and ${field.name} < #{$field.modelName}
-                    #end
-                    #if(${field.searchMethod}=="<=")
-                        and ${field.name} <= #{$field.modelName}
-                    #end
-                    #if(${field.searchMethod}=="like")
-                        and ${field.name} like  '%${$field.modelName}%'
-                    #end
-                    #if(${field.searchMethod}=="left like")
-                        and ${field.name} like  '%${$field.modelName}'
-                    #end
-                    #if(${field.searchMethod}=="right like")
-                        and ${field.name} like '${$field.modelName}%'
-                    #end
-                #end
-            #end
+            AND del_flag = 'N'
+            <!--generatedStart-->
+#*        *##foreach($field in $model.fields)
+#*            *##if(${field.searchable})
+#*                *##if(${field.searchMethod}=="=")
+#*        *#            AND ${field.name} = #{$field.modelName}
+#*                *##end
+#*                *##if(${field.searchMethod}=="!=")
+#*        *#            AND ${field.name} != #{$field.modelName}
+#*                *##end
+#*                *##if(${field.searchMethod}==">")
+#*        *#            AND ${field.name} > #{$field.modelName}
+#*                *##end
+#*                *##if(${field.searchMethod}==">=")
+#*        *#            AND ${field.name} >= #{$field.modelName}
+#*                *##end
+#*                *##if(${field.searchMethod}=="<")
+#*        *#            AND ${field.name} < #{$field.modelName}
+#*                *##end
+#*                *##if(${field.searchMethod}=="<=")
+#*        *#            AND ${field.name} <= #{$field.modelName}
+#*                *##end
+#*                *##if(${field.searchMethod}=="like")
+#*        *#            AND ${field.name} like  '%${$field.modelName}%'
+#*                *##end
+#*                *##if(${field.searchMethod}=="left like")
+#*        *#            AND ${field.name} like  '%${$field.modelName}'
+#*                *##end
+#*                *##if(${field.searchMethod}=="right like")
+#*        *#            AND ${field.name} like '${$field.modelName}%'
+#*                *##end
+#*            *##end
+#*        *##end
+            <!--generatedEnd-->
         </where>
-        order by id desc
+        ORDER BY id DESC
     </select>
 </mapper>
 

+ 38 - 34
src/main/resources/templates/ModelTemplate.vm

@@ -11,24 +11,27 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 @JsonAutoDetect
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class $model.className{
+    <!--generatedStart-->
 #foreach($field in $model.fields)
     private $field.javaType $field.modelName;
 #end
 
-private String idStr;
+    private String idStr;
 
-private String searchKey;
+    private String searchKey;
 
-/**
-* and,test_name,like,value;or,remark,=,123
-*/
-private String advancedQuery;
+    /**
+    * and,test_name,like,value;or,remark,=,123
+    */
+    private String advancedQuery;
 
-/**
-* column_name_,desc_;column_name_,asc
-*/
-private String orderByStr;
+    /**
+    * column_name_,desc_;column_name_,asc
+    */
+    private String orderByStr;
+    <!--generatedEnd-->
 
+    <!--generatedStart-->
 #foreach($field in $model.fields)
     public $field.javaType get${display.capitalize($field.modelName)}(){
         return this.$field.modelName;
@@ -39,37 +42,38 @@ private String orderByStr;
     }
 #end
 
-public String getSearchKey() {
-    return searchKey;
-}
+    public String getSearchKey() {
+        return searchKey;
+    }
 
-public void setSearchKey(String searchKey) {
-    this.searchKey = searchKey;
-}
+    public void setSearchKey(String searchKey) {
+        this.searchKey = searchKey;
+    }
 
-public String getAdvancedQuery() {
-    return advancedQuery;
-}
+    public String getAdvancedQuery() {
+        return advancedQuery;
+    }
 
-public void setAdvancedQuery(String advancedQuery) {
-    this.advancedQuery = advancedQuery;
-}
+    public void setAdvancedQuery(String advancedQuery) {
+        this.advancedQuery = advancedQuery;
+    }
 
-public String getOrderByStr() {
-    return orderByStr;
-}
+    public String getOrderByStr() {
+        return orderByStr;
+    }
 
-public void setOrderByStr(String orderByStr) {
-    this.orderByStr = orderByStr;
-}
+    public void setOrderByStr(String orderByStr) {
+        this.orderByStr = orderByStr;
+    }
 
-public String getIdStr() {
-    return idStr;
-}
+    public String getIdStr() {
+        return idStr;
+    }
 
-public void setIdStr(String idStr) {
-    this.idStr = idStr;
-}
+    public void setIdStr(String idStr) {
+        this.idStr = idStr;
+    }
+    <!--generatedEnd-->
 
 }
 

+ 15 - 35
src/main/resources/templates/ServiceImplTemplate.vm

@@ -18,123 +18,103 @@ import com.izouma.awesomeadmin.dao.${model.className}Mapper;
 */
 @Service
 public class ${model.className}ServiceImpl implements ${model.className}Service{
-
+    <!--generatedStart-->
     private static Logger logger = Logger.getLogger(${model.className}ServiceImpl.class);
 
     @Autowired
     private ${model.className}Mapper ${display.uncapitalize(${model.className})}Mapper;
+    <!--generatedEnd-->
 
+    <!--generatedStart-->
     @Override
     public List<${model.className}> get${model.className}List(${model.className} record) {
-
         logger.info("get${model.className}List");
         try {
-
-        return ${display.uncapitalize(${model.className})}Mapper.queryAll${model.className}(record);
+            return ${display.uncapitalize(${model.className})}Mapper.queryAll${model.className}(record);
         } catch (Exception e) {
-        logger.error("get${model.className}List", e);
+            logger.error("get${model.className}List", e);
         }
-
         return null;
     }
+
     @Override
     public List<${model.className}> get${model.className}ByPage(Page page, ${model.className} record) {
-
         logger.info("get${model.className}ByPage");
         try {
+            Map<String, Object> parameter = new HashMap<String, Object>();
+            parameter.put("record", record);
+            parameter.put(AppConstant.PAGE, page);
 
-        Map<String, Object> parameter = new HashMap<String, Object>();
-        parameter.put("record", record);
-        parameter.put(AppConstant.PAGE, page);
-
-        return ${display.uncapitalize(${model.className})}Mapper.query${model.className}ByPage(parameter);
+            return ${display.uncapitalize(${model.className})}Mapper.query${model.className}ByPage(parameter);
         } catch (Exception e) {
-        logger.error("get${model.className}ByPage", e);
+            logger.error("get${model.className}ByPage", e);
         }
-
         return null;
     }
 
     @Override
     public ${model.className} get${model.className}ById(String id) {
-
         logger.info("get${model.className}yId");
         try {
-
             return ${display.uncapitalize(${model.className})}Mapper.selectByPrimaryKey(Integer.valueOf(id));
         } catch (Exception e) {
-        logger.error("get${model.className}ById", e);
+            logger.error("get${model.className}ById", e);
         }
-
         return null;
     }
 
     @Override
     public ${model.className} get${model.className}(${model.className} record) {
-
         logger.info("get${model.className}");
         try {
-
             return ${display.uncapitalize(${model.className})}Mapper.query${model.className}(record);
         } catch (Exception e) {
-        logger.error("get${model.className}", e);
+            logger.error("get${model.className}", e);
         }
-
         return null;
     }
 
     @Override
     public boolean create${model.className}(${model.className} record) {
-
         logger.info("create${model.className}");
         try {
-
             int updates = ${display.uncapitalize(${model.className})}Mapper.insertSelective(record);
-
             if (updates > 0) {
                  return true;
             }
         } catch (Exception e) {
             logger.error("create${model.className}", e);
         }
-
         return false;
     }
 
     @Override
     public boolean delete${model.className}(${model.className} record) {
-
         logger.info("delete${model.className}");
         try {
-
-             int updates = ${display.uncapitalize(${model.className})}Mapper.delete(record);
-
+            int updates = ${display.uncapitalize(${model.className})}Mapper.delete(record);
             if (updates > 0) {
                  return true;
             }
         } catch (Exception e) {
              logger.error("delete${model.className}", e);
         }
-
         return false;
     }
 
     @Override
     public boolean update${model.className}(${model.className} record) {
-
         logger.info("update${model.className}");
         try {
-
             int updates = ${display.uncapitalize(${model.className})}Mapper.updateByPrimaryKeySelective(record);
-
             if (updates > 0) {
                  return true;
             }
         } catch (Exception e) {
              logger.error("update${model.className}", e);
         }
-
         return false;
     }
+    <!--generatedEnd-->
 }
 

+ 2 - 1
src/main/resources/templates/ServiceTemplate.vm

@@ -12,7 +12,7 @@ import com.izouma.awesomeadmin.model.${model.className};
 *  service接口类
 */
 public interface ${model.className}Service{
-
+    <!--generatedStart-->
     List<${model.className}> get${model.className}List(${model.className} record);
 
     List<${model.className}> get${model.className}ByPage(Page page, ${model.className} record);
@@ -26,5 +26,6 @@ public interface ${model.className}Service{
     boolean delete${model.className}(${model.className} record);
 
     boolean update${model.className}(${model.className} record);
+    <!--generatedEnd-->
 }
 

+ 0 - 0
src/main/resources/templates/listTemplate1.vm