mirror of
https://github.com/zongzibinbin/MallChat.git
synced 2026-03-13 21:53:41 +08:00
fix:消息校验优化
This commit is contained in:
@@ -6,6 +6,8 @@ import lombok.Builder;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -20,12 +22,15 @@ import java.io.Serializable;
|
|||||||
public class FileMsgDTO implements Serializable {
|
public class FileMsgDTO implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@ApiModelProperty("大小(字节)")
|
@ApiModelProperty("大小(字节)")
|
||||||
|
@NotNull
|
||||||
private Long size;
|
private Long size;
|
||||||
|
|
||||||
@ApiModelProperty("下载地址")
|
@ApiModelProperty("下载地址")
|
||||||
|
@NotBlank
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
@ApiModelProperty("文件名(带后缀)")
|
@ApiModelProperty("文件名(带后缀)")
|
||||||
|
@NotBlank
|
||||||
private String fileName;
|
private String fileName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import lombok.Builder;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -20,11 +22,14 @@ import java.io.Serializable;
|
|||||||
public class SoundMsgDTO implements Serializable {
|
public class SoundMsgDTO implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@ApiModelProperty("大小(字节)")
|
@ApiModelProperty("大小(字节)")
|
||||||
|
@NotNull
|
||||||
private Long size;
|
private Long size;
|
||||||
|
|
||||||
@ApiModelProperty("时长(秒)")
|
@ApiModelProperty("时长(秒)")
|
||||||
|
@NotNull
|
||||||
private Integer second;
|
private Integer second;
|
||||||
|
|
||||||
@ApiModelProperty("下载地址")
|
@ApiModelProperty("下载地址")
|
||||||
|
@NotBlank
|
||||||
private String url;
|
private String url;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import lombok.NoArgsConstructor;
|
|||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 视频消息入参
|
* Description: 视频消息入参
|
||||||
@@ -23,20 +22,23 @@ import java.math.BigDecimal;
|
|||||||
public class VideoMsgDTO implements Serializable {
|
public class VideoMsgDTO implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@ApiModelProperty("大小(字节)")
|
@ApiModelProperty("大小(字节)")
|
||||||
|
@NotNull
|
||||||
private Long size;
|
private Long size;
|
||||||
|
|
||||||
@ApiModelProperty("下载地址")
|
@ApiModelProperty("下载地址")
|
||||||
|
@NotBlank
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
@ApiModelProperty("缩略图宽度(像素)")
|
@ApiModelProperty("缩略图宽度(像素)")
|
||||||
@NotNull
|
@NotNull
|
||||||
private Integer thumbWidth = BigDecimal.ROUND_HALF_DOWN;
|
private Integer thumbWidth;
|
||||||
|
|
||||||
@ApiModelProperty("缩略图高度(像素)")
|
@ApiModelProperty("缩略图高度(像素)")
|
||||||
@NotNull
|
@NotNull
|
||||||
private Integer thumbHeight;
|
private Integer thumbHeight;
|
||||||
|
|
||||||
@ApiModelProperty("缩略图大小(字节)")
|
@ApiModelProperty("缩略图大小(字节)")
|
||||||
|
@NotNull
|
||||||
private Long thumbSize;
|
private Long thumbSize;
|
||||||
|
|
||||||
@ApiModelProperty("缩略图下载地址")
|
@ApiModelProperty("缩略图下载地址")
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ public class GlobalExceptionHandler {
|
|||||||
e.getBindingResult().getFieldErrors().forEach(x -> errorMsg.append(x.getField()).append(x.getDefaultMessage()).append(","));
|
e.getBindingResult().getFieldErrors().forEach(x -> errorMsg.append(x.getField()).append(x.getDefaultMessage()).append(","));
|
||||||
String message = errorMsg.toString();
|
String message = errorMsg.toString();
|
||||||
log.info("validation parameters error!The reason is:{}", message);
|
log.info("validation parameters error!The reason is:{}", message);
|
||||||
return ApiResult.fail(-1, message.substring(0, message.length() - 1));
|
return ApiResult.fail(CommonErrorEnum.PARAM_VALID.getErrorCode(), message.substring(0, message.length() - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +34,7 @@ public class GlobalExceptionHandler {
|
|||||||
e.getBindingResult().getFieldErrors().forEach(x -> errorMsg.append(x.getField()).append(x.getDefaultMessage()).append(","));
|
e.getBindingResult().getFieldErrors().forEach(x -> errorMsg.append(x.getField()).append(x.getDefaultMessage()).append(","));
|
||||||
String message = errorMsg.toString();
|
String message = errorMsg.toString();
|
||||||
log.info("validation parameters error!The reason is:{}", message);
|
log.info("validation parameters error!The reason is:{}", message);
|
||||||
return ApiResult.fail(-1, message.substring(0, message.length() - 1));
|
return ApiResult.fail(CommonErrorEnum.PARAM_VALID.getErrorCode(), message.substring(0, message.length() - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.abin.mallchat.common.common.utils;
|
package com.abin.mallchat.common.common.utils;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.abin.mallchat.common.common.exception.*;
|
import com.abin.mallchat.common.common.exception.BusinessErrorEnum;
|
||||||
import lombok.SneakyThrows;
|
import com.abin.mallchat.common.common.exception.BusinessException;
|
||||||
|
import com.abin.mallchat.common.common.exception.CommonErrorEnum;
|
||||||
|
import com.abin.mallchat.common.common.exception.ErrorEnum;
|
||||||
import org.hibernate.validator.HibernateValidator;
|
import org.hibernate.validator.HibernateValidator;
|
||||||
import org.springframework.validation.BindException;
|
|
||||||
import org.springframework.validation.BindingResult;
|
|
||||||
|
|
||||||
import javax.validation.ConstraintViolation;
|
import javax.validation.ConstraintViolation;
|
||||||
import javax.validation.Validation;
|
import javax.validation.Validation;
|
||||||
@@ -57,7 +57,7 @@ public class AssertUtil {
|
|||||||
errorMsg.append(violation.getPropertyPath().toString()).append(":").append(violation.getMessage()).append(",");
|
errorMsg.append(violation.getPropertyPath().toString()).append(":").append(violation.getMessage()).append(",");
|
||||||
}
|
}
|
||||||
//去掉最后一个逗号
|
//去掉最后一个逗号
|
||||||
throwException(errorMsg.toString().substring(0,errorMsg.length()-1));
|
throwException(CommonErrorEnum.PARAM_VALID, errorMsg.toString().substring(0, errorMsg.length() - 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -21,7 +22,7 @@ import java.util.List;
|
|||||||
public class TextMsgReq {
|
public class TextMsgReq {
|
||||||
|
|
||||||
@NotBlank(message = "内容不能为空")
|
@NotBlank(message = "内容不能为空")
|
||||||
@Size(max = 5,message = "消息内容过长,服务器扛不住啊,兄dei")
|
@Size(max = 1024, message = "消息内容过长,服务器扛不住啊,兄dei")
|
||||||
@ApiModelProperty("消息内容")
|
@ApiModelProperty("消息内容")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
@@ -29,5 +30,6 @@ public class TextMsgReq {
|
|||||||
private Long replyMsgId;
|
private Long replyMsgId;
|
||||||
|
|
||||||
@ApiModelProperty("艾特的uid")
|
@ApiModelProperty("艾特的uid")
|
||||||
|
@Size(max = 10, message = "一次别艾特这么多人")
|
||||||
private List<Long> atUidList;
|
private List<Long> atUidList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,6 @@ public class TextMsgHandler extends AbstractMsgHandler {
|
|||||||
AssertUtil.equal(replyMsg.getRoomId(), request.getRoomId(), "只能回复相同会话内的消息");
|
AssertUtil.equal(replyMsg.getRoomId(), request.getRoomId(), "只能回复相同会话内的消息");
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(body.getAtUidList())) {
|
if (CollectionUtil.isNotEmpty(body.getAtUidList())) {
|
||||||
AssertUtil.isTrue(body.getAtUidList().size() < 10, "一次别艾特这么多人");
|
|
||||||
List<Long> atUidList = body.getAtUidList();
|
List<Long> atUidList = body.getAtUidList();
|
||||||
Map<Long, User> batch = userInfoCache.getBatch(atUidList);
|
Map<Long, User> batch = userInfoCache.getBatch(atUidList);
|
||||||
AssertUtil.equal(atUidList.size(), batch.values().size(), "@用户不存在");
|
AssertUtil.equal(atUidList.size(), batch.values().size(), "@用户不存在");
|
||||||
|
|||||||
Reference in New Issue
Block a user