Prechádzať zdrojové kódy

add 增加全局校验 Insert,Update

A17404李放 3 rokov pred
rodič
commit
e41935416b

+ 5 - 3
coffee-common/src/main/java/com/coffee/common/crud/controller/BaseSaveController.java

@@ -2,8 +2,10 @@ package com.coffee.common.crud.controller;
 
 import com.baomidou.mybatisplus.core.mapper.Mapper;
 import com.coffee.common.crud.BaseService;
+import com.coffee.common.entity.GenericEntity;
 import com.coffee.common.result.R;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.Serializable;
@@ -26,14 +28,14 @@ public interface BaseSaveController<E,K extends Serializable> extends
 
     @PostMapping("/_batch")
     @ApiOperation(value = "批量新增数据")
-    default R add(@RequestBody List<E> payload) {
+    default R add(@RequestBody @Validated(GenericEntity.Insert.class) List<E> payload) {
         saveAuth();
         return getService().saveBatch(payload)?R.success():R.fail("数据新增失败");
     }
 
     @PostMapping("/add")
     @ApiOperation(value = "新增单个数据,并返回新增后的数据.")
-    default R add(@RequestBody E payload) {
+    default R add(@RequestBody @Validated(GenericEntity.Insert.class)E payload) {
         saveAuth();
         return getService().save(payload)?R.success(payload):R.fail("数据新增失败");
     }
@@ -41,7 +43,7 @@ public interface BaseSaveController<E,K extends Serializable> extends
 
     @PostMapping("/edit")
     @ApiOperation(value = "根据ID修改数据")
-    default R update(@RequestBody E payload) {
+    default R update(@RequestBody @Validated(GenericEntity.Update.class)E payload) {
         editAuth();
         return getService().updateById(payload)?R.success(payload):R.fail("更新失败");
     }

+ 9 - 0
coffee-common/src/main/java/com/coffee/common/entity/GenericEntity.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -22,6 +23,7 @@ public abstract class  GenericEntity<PK> implements Entity,RecordModifierEntity,
     @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "id")
     @JsonSerialize(using = ToStringSerializer.class)
+    @NotNull(groups = Update.class,message = "id不可为空")
     private PK id;
 
     @TableField(fill = FieldFill.INSERT)
@@ -35,4 +37,11 @@ public abstract class  GenericEntity<PK> implements Entity,RecordModifierEntity,
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
+
+    /* 分组校验 */
+    public @interface Update {
+    }
+
+    public @interface Insert {
+    }
 }

+ 5 - 0
coffee-system/src/main/java/com/coffee/bus/entity/BusEvaluationEntity.java

@@ -9,6 +9,8 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import org.hibernate.validator.constraints.Length;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * <p>
  * 
@@ -29,6 +31,7 @@ public class BusEvaluationEntity extends TenantGenericEntity<String,String> {
     public String patientCode;
 
     @ApiModelProperty(value = "临床号")
+    @NotNull(groups = Insert.class,message = "临床不可为空")
     @Length(max = 255,message = "临床号长度不得超过255个字节")
     private String clinicId;
 
@@ -90,9 +93,11 @@ public class BusEvaluationEntity extends TenantGenericEntity<String,String> {
 
 
     @ApiModelProperty(value = "评价时间",hidden = true)
+    @NotNull(groups = Insert.class,message = "评价时间不可为空")
     private Date evaluateTime;
 
     @ApiModelProperty(value = "评价人")
+    @NotNull(groups = Insert.class,message = "评价人不可为空")
     @Length(max = 255,message = "评价人长度不得超过255个字节")
     private String evaluator;