mirror of
https://github.com/zongzibinbin/MallChat.git
synced 2026-03-15 07:03:42 +08:00
调整项目目录
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
package com.abin.frequencycontrol.util;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.abin.frequencycontrol.exception.BusinessErrorEnum;
|
||||
import com.abin.frequencycontrol.exception.BusinessException;
|
||||
import com.abin.frequencycontrol.exception.CommonErrorEnum;
|
||||
import com.abin.frequencycontrol.exception.ErrorEnum;
|
||||
import org.hibernate.validator.HibernateValidator;
|
||||
|
||||
import javax.validation.ConstraintViolation;
|
||||
import javax.validation.Validation;
|
||||
import javax.validation.Validator;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 校验工具类
|
||||
*/
|
||||
public class AssertUtil {
|
||||
|
||||
/**
|
||||
* 校验到失败就结束
|
||||
*/
|
||||
private static Validator failFastValidator = Validation.byProvider(HibernateValidator.class)
|
||||
.configure()
|
||||
.failFast(true)
|
||||
.buildValidatorFactory().getValidator();
|
||||
|
||||
/**
|
||||
* 全部校验
|
||||
*/
|
||||
private static Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||
|
||||
/**
|
||||
* 注解验证参数(校验到失败就结束)
|
||||
* @param obj
|
||||
*/
|
||||
public static <T> void fastFailValidate(T obj) {
|
||||
Set<ConstraintViolation<T>> constraintViolations = failFastValidator.validate(obj);
|
||||
if (constraintViolations.size() > 0) {
|
||||
throwException(CommonErrorEnum.PARAM_VALID,constraintViolations.iterator().next().getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 注解验证参数(全部校验,抛出异常)
|
||||
* @param obj
|
||||
*/
|
||||
public static <T> void allCheckValidateThrow(T obj) {
|
||||
Set<ConstraintViolation<T>> constraintViolations = validator.validate(obj);
|
||||
if (constraintViolations.size() > 0) {
|
||||
StringBuilder errorMsg = new StringBuilder();
|
||||
Iterator<ConstraintViolation<T>> iterator = constraintViolations.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
ConstraintViolation<T> violation = iterator.next();
|
||||
//拼接异常信息
|
||||
errorMsg.append(violation.getPropertyPath().toString()).append(":").append(violation.getMessage()).append(",");
|
||||
}
|
||||
//去掉最后一个逗号
|
||||
throwException(CommonErrorEnum.PARAM_VALID, errorMsg.toString().substring(0, errorMsg.length() - 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 注解验证参数(全部校验,返回异常信息集合)
|
||||
* @param obj
|
||||
*/
|
||||
public static <T> Map<String,String> allCheckValidate(T obj) {
|
||||
Set<ConstraintViolation<T>> constraintViolations = validator.validate(obj);
|
||||
if (constraintViolations.size() > 0) {
|
||||
Map<String,String> errorMessages= new HashMap<>();
|
||||
Iterator<ConstraintViolation<T>> iterator = constraintViolations.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
ConstraintViolation<T> violation = iterator.next();
|
||||
errorMessages.put(violation.getPropertyPath().toString(),violation.getMessage());
|
||||
}
|
||||
return errorMessages;
|
||||
}
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
//如果不是true,则抛异常
|
||||
public static void isTrue(boolean expression, String msg) {
|
||||
if (!expression) {
|
||||
throwException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public static void isTrue(boolean expression, ErrorEnum errorEnum, Object... args) {
|
||||
if (!expression) {
|
||||
throwException(errorEnum, args);
|
||||
}
|
||||
}
|
||||
|
||||
//如果是true,则抛异常
|
||||
public static void isFalse(boolean expression, String msg) {
|
||||
if (expression) {
|
||||
throwException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
//如果是true,则抛异常
|
||||
public static void isFalse(boolean expression, ErrorEnum errorEnum, Object... args) {
|
||||
if (expression) {
|
||||
throwException(errorEnum, args);
|
||||
}
|
||||
}
|
||||
|
||||
//如果不是非空对象,则抛异常
|
||||
public static void isNotEmpty(Object obj, String msg) {
|
||||
if (isEmpty(obj)) {
|
||||
throwException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
//如果不是非空对象,则抛异常
|
||||
public static void isNotEmpty(Object obj, ErrorEnum errorEnum, Object... args) {
|
||||
if (isEmpty(obj)) {
|
||||
throwException(errorEnum, args);
|
||||
}
|
||||
}
|
||||
|
||||
//如果不是非空对象,则抛异常
|
||||
public static void isEmpty(Object obj, String msg) {
|
||||
if (!isEmpty(obj)) {
|
||||
throwException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public static void equal(Object o1, Object o2, String msg) {
|
||||
if (!ObjectUtil.equal(o1, o2)) {
|
||||
throwException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public static void notEqual(Object o1, Object o2, String msg) {
|
||||
if (ObjectUtil.equal(o1, o2)) {
|
||||
throwException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isEmpty(Object obj) {
|
||||
return ObjectUtil.isEmpty(obj);
|
||||
}
|
||||
|
||||
private static void throwException(String msg) {
|
||||
throwException(null, msg);
|
||||
}
|
||||
|
||||
private static void throwException(ErrorEnum errorEnum, Object... arg) {
|
||||
if (Objects.isNull(errorEnum)) {
|
||||
errorEnum = BusinessErrorEnum.BUSINESS_ERROR;
|
||||
}
|
||||
throw new BusinessException(errorEnum.getErrorCode(), MessageFormat.format(errorEnum.getErrorMsg(), arg));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.abin.frequencycontrol.util;
|
||||
|
||||
|
||||
import com.abin.frequencycontrol.domain.dto.RequestInfo;
|
||||
|
||||
/**
|
||||
* 请求上下文
|
||||
*/
|
||||
public class RequestHolder {
|
||||
|
||||
private static final ThreadLocal<RequestInfo> threadLocal = new ThreadLocal<>();
|
||||
|
||||
public static void set(RequestInfo requestInfo) {
|
||||
threadLocal.set(requestInfo);
|
||||
}
|
||||
|
||||
public static RequestInfo get() {
|
||||
return threadLocal.get();
|
||||
}
|
||||
|
||||
public static void remove() {
|
||||
threadLocal.remove();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user