From d2c745d3fdce8a45c8403bbf0301d58fe05b3b35 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 14 五月 2021 15:12:40 +0800
Subject: [PATCH] add 代码生成器 增加校验注解

---
 ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm    |    9 +++-
 ruoyi-generator/src/main/resources/vm/java/controller.java.vm |   27 ++++++-------
 ruoyi-ui/src/views/index.vue                                  |   27 +++++++------
 ruoyi-generator/src/main/resources/vm/java/addBo.java.vm      |    6 +++
 README.md                                                     |    7 ++-
 ruoyi-generator/src/main/resources/vm/java/editBo.java.vm     |    6 +++
 6 files changed, 50 insertions(+), 32 deletions(-)

diff --git a/README.md b/README.md
index 66151c3..277f48d 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
 * 鐩戞帶妗嗘灦 spring-boot-admin 鍏ㄦ柟浣嶆湇鍔$洃鎺�
 * 鏍¢獙妗嗘灦 validation 澧炲己鎺ュ彛瀹夊叏鎬� 涓ヨ皑鎬�
 * 鏂囨。妗嗘灦 knife4j 缇庡寲鎺ュ彛鏂囨。
-* 浠g爜鐢熸垚鍣ㄥ彲浠ヤ竴閿敓鎴愬墠鍚庣浠g爜
+* 浠g爜鐢熸垚鍣� 涓�閿敓鎴愬墠鍚庣浠g爜
 
 ## 淇敼RuoYi鍔熻兘
 
@@ -32,17 +32,20 @@
 ### 浠g爜鏀瑰姩
 
 * 鎵�鏈夊師鐢熷姛鑳戒娇鐢� Mybatis-Plus 涓� Lombok 閲嶅啓
+* 澧炲姞 IServicePlus 涓� BaseMapperPlus 鍙嚜瀹氫箟閫氱敤鏂规硶
 * 浠g爜鐢熸垚妯℃澘 鏀逛负閫傞厤 Mybatis-Plus 鐨勪唬鐮�
 * 浠g爜鐢熸垚妯℃澘 鎷嗗垎鍑� Vo,QueryBo,AddBo,EditBo 绛夐鍩熷璞�
-* 澧炲姞 IServicePlus 涓� BaseMapperPlus 鍙嚜瀹氫箟閫氱敤鏂规硶
+* 浠g爜鐢熸垚妯℃澘 澧炲姞 鏂囨。娉ㄨВ 涓� 鏍¢獙娉ㄨВ 绠�鍖栭�氱敤鎿嶄綔
 * 椤圭洰淇敼涓� maven澶氱幆澧冮厤缃�
 * 椤圭洰閰嶇疆淇敼涓� application.yml 缁熶竴绠$悊
 
 ### 鍏朵粬
+
 * 鍚屾鍗囩骇 RuoYi-Vue 3.4.0
 * 鍗曟ā鍧� fast 鍒嗘敮 [RuoYi-Vue-Plus-fast](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/fast/)
 
 ## 鍏虫敞浣滆��(鎵爜璇峰娉�: "鍔犵兢")
+
 ![](https://images.gitee.com/uploads/images/2021/0508/235345_5503356a_1766278.jpeg)
 
 ## 閲嶇偣娉ㄦ剰浜嬮」
diff --git a/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm b/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm
index ad5e2e7..41fa0e9 100644
--- a/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm
@@ -5,6 +5,7 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
+import javax.validation.constraints.*;
 
 
 #foreach ($import in $importList)
@@ -28,6 +29,11 @@
 #if($column.javaType == 'Date')
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 #end
+#if($column.javaType == 'String')
+    @NotBlank(message = "$column.columnComment涓嶈兘涓虹┖")
+#else
+    @NotNull(message = "$column.columnComment涓嶈兘涓虹┖")
+#end
     private $column.javaType $column.javaField;
 #end
 #end
diff --git a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm
index 1600dbd..b40b497 100644
--- a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm
@@ -4,16 +4,11 @@
 import java.util.Arrays;
 
 import lombok.RequiredArgsConstructor;
+import javax.validation.constraints.*;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -52,11 +47,11 @@
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
     @GetMapping("/list")
 #if($table.crud || $table.sub)
-    public TableDataInfo<${ClassName}Vo> list(${ClassName}QueryBo bo) {
+    public TableDataInfo<${ClassName}Vo> list(@Validated ${ClassName}QueryBo bo) {
         return i${ClassName}Service.queryPageList(bo);
     }
 #elseif($table.tree)
-    public AjaxResult<List<${ClassName}Vo>> list(${ClassName}QueryBo bo) {
+    public AjaxResult<List<${ClassName}Vo>> list(@Validated ${ClassName}QueryBo bo) {
         List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
         return AjaxResult.success(list);
     }
@@ -69,7 +64,7 @@
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
     @Log(title = "${functionName}", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult<${ClassName}Vo> export(${ClassName}QueryBo bo) {
+    public AjaxResult<${ClassName}Vo> export(@Validated ${ClassName}QueryBo bo) {
         List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
         ExcelUtil<${ClassName}Vo> util = new ExcelUtil<${ClassName}Vo>(${ClassName}Vo.class);
         return util.exportExcel(list, "${functionName}");
@@ -81,7 +76,8 @@
     @ApiOperation("鑾峰彇${functionName}璇︾粏淇℃伅")
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
     @GetMapping("/{${pkColumn.javaField}}")
-    public AjaxResult<${ClassName}Vo> getInfo(@PathVariable("${pkColumn.javaField}" ) ${pkColumn.javaType} ${pkColumn.javaField}) {
+    public AjaxResult<${ClassName}Vo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+                                                  @PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
         return AjaxResult.success(i${ClassName}Service.queryById(${pkColumn.javaField}));
     }
 
@@ -92,7 +88,7 @@
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
     @Log(title = "${functionName}", businessType = BusinessType.INSERT)
     @PostMapping()
-    public AjaxResult<Void> add(@RequestBody ${ClassName}AddBo bo) {
+    public AjaxResult<Void> add(@Validated @RequestBody ${ClassName}AddBo bo) {
         return toAjax(i${ClassName}Service.insertByAddBo(bo) ? 1 : 0);
     }
 
@@ -103,7 +99,7 @@
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
     @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
     @PutMapping()
-    public AjaxResult<Void> edit(@RequestBody ${ClassName}EditBo bo) {
+    public AjaxResult<Void> edit(@Validated @RequestBody ${ClassName}EditBo bo) {
         return toAjax(i${ClassName}Service.updateByEditBo(bo) ? 1 : 0);
     }
 
@@ -114,7 +110,8 @@
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
     @Log(title = "${functionName}" , businessType = BusinessType.DELETE)
     @DeleteMapping("/{${pkColumn.javaField}s}")
-    public AjaxResult<Void> remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
+    public AjaxResult<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+                                       @PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
         return toAjax(i${ClassName}Service.deleteWithValidByIds(Arrays.asList(${pkColumn.javaField}s), true) ? 1 : 0);
     }
 }
diff --git a/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm b/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm
index 8fa0c25..3f3d988 100644
--- a/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm
@@ -5,6 +5,7 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
+import javax.validation.constraints.*;
 
 #foreach ($import in $importList)
 import ${import};
@@ -28,6 +29,11 @@
 #if($column.javaType == 'Date')
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 #end
+#if($column.javaType == 'String')
+    @NotBlank(message = "$column.columnComment涓嶈兘涓虹┖")
+#else
+    @NotNull(message = "$column.columnComment涓嶈兘涓虹┖")
+#end
     private $column.javaType $column.javaField;
 #end
 #end
diff --git a/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm b/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm
index b641ac3..89550fe 100644
--- a/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm
@@ -6,8 +6,7 @@
 import lombok.EqualsAndHashCode;
 
 import java.util.Date;
-import java.util.Map;
-import java.util.HashMap;
+import javax.validation.constraints.*;
 
 #foreach ($import in $importList)
 import ${import};
@@ -29,6 +28,7 @@
 #elseif($table.tree)
 #set($Entity="TreeEntity")
 #end
+
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel("${functionName}鍒嗛〉鏌ヨ瀵硅薄")
@@ -55,6 +55,11 @@
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 #end
 	@ApiModelProperty("$column.columnComment")
+#if($column.javaType == 'String')
+	@NotBlank(message = "$column.columnComment涓嶈兘涓虹┖")
+#else
+	@NotNull(message = "$column.columnComment涓嶈兘涓虹┖")
+#end
 	private $column.javaType $column.javaField;
 #end
 #end
diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue
index 24bc8b2..5582f02 100644
--- a/ruoyi-ui/src/views/index.vue
+++ b/ruoyi-ui/src/views/index.vue
@@ -5,19 +5,20 @@
         <h2>RuoYi-Vue-Plus鍚庡彴绠$悊妗嗘灦</h2>
         <p>
           鍩轰簬 RuoYi-Vue 闆嗘垚 Mybatis-Plus Lombok Hutool 绛変究鎹峰紑鍙戝伐鍏� 閫傞厤閲嶅啓鐩稿叧涓氬姟 渚夸簬寮�鍙� 瀹氭湡涓� RuoYi-Vue 鍚屾
-          * 鍓嶇寮�鍙戞鏋� Vue銆丒lement UI
-          * 鍚庣寮�鍙戞鏋� Spring Boot銆丷edis
-          * 瀹瑰櫒妗嗘灦 Undertow 鍩轰簬 Netty 鐨勯珮鎬ц兘瀹瑰櫒
-          * 鏉冮檺璁よ瘉妗嗘灦 Spring Security銆丣wt锛屾敮鎸佸缁堢璁よ瘉绯荤粺
-          * 鍏崇郴鏁版嵁搴� MySQL 閫傞厤 8.X
-          * 缂撳瓨鏁版嵁搴� Redis 閫傞厤 6.X
-          * 鏁版嵁搴撳紑鍙戞鏋� Mybatis-Plus 蹇�� CRUD 澧炲姞寮�鍙戞晥鐜� 鎻掍欢鍖栨敮鎸佸悇绫婚渶姹�
-          * 缃戠粶妗嗘灦 Feign銆丱kHttp3 鎺ュ彛鍖栫鐞� HTTP 璇锋眰
-          * 宸ュ叿绫绘鏋� Hutool銆丩ombok 鍑忓皯浠g爜鍐椾綑 澧炲姞瀹夊叏鎬�
-          * 鐩戞帶妗嗘灦 spring-boot-admin 鍏ㄦ柟浣嶆湇鍔$洃鎺�
-          * 鏍¢獙妗嗘灦 validation 澧炲己鎺ュ彛瀹夊叏鎬� 涓ヨ皑鎬�
-          * 鏂囨。妗嗘灦 knife4j 缇庡寲鎺ュ彛鏂囨。
-          * 浠g爜鐢熸垚鍣ㄥ彲浠ヤ竴閿敓鎴愬墠鍚庣浠g爜
+          <br/>
+          * 鍓嶇寮�鍙戞鏋� Vue銆丒lement UI<br/>
+          * 鍚庣寮�鍙戞鏋� Spring Boot銆丷edis<br/>
+          * 瀹瑰櫒妗嗘灦 Undertow 鍩轰簬 Netty 鐨勯珮鎬ц兘瀹瑰櫒<br/>
+          * 鏉冮檺璁よ瘉妗嗘灦 Spring Security銆丣wt锛屾敮鎸佸缁堢璁よ瘉绯荤粺<br/>
+          * 鍏崇郴鏁版嵁搴� MySQL 閫傞厤 8.X<br/>
+          * 缂撳瓨鏁版嵁搴� Redis 閫傞厤 6.X<br/>
+          * 鏁版嵁搴撳紑鍙戞鏋� Mybatis-Plus 蹇�� CRUD 澧炲姞寮�鍙戞晥鐜� 鎻掍欢鍖栨敮鎸佸悇绫婚渶姹�<br/>
+          * 缃戠粶妗嗘灦 Feign銆丱kHttp3 鎺ュ彛鍖栫鐞� HTTP 璇锋眰<br/>
+          * 宸ュ叿绫绘鏋� Hutool銆丩ombok 鍑忓皯浠g爜鍐椾綑 澧炲姞瀹夊叏鎬�<br/>
+          * 鐩戞帶妗嗘灦 spring-boot-admin 鍏ㄦ柟浣嶆湇鍔$洃鎺�<br/>
+          * 鏍¢獙妗嗘灦 validation 澧炲己鎺ュ彛瀹夊叏鎬� 涓ヨ皑鎬�<br/>
+          * 鏂囨。妗嗘灦 knife4j 缇庡寲鎺ュ彛鏂囨。<br/>
+          * 浠g爜鐢熸垚鍣� 涓�閿敓鎴愬墠鍚庣浠g爜<br/>
         </p>
         <p>
           <b>褰撳墠鐗堟湰:</b> <span>v{{ version }}</span>

--
Gitblit v1.9.3