//package com.ruoyi.common.validRule.accountExist;
//
//import com.ruoyi.common.utils.SecurityUtils;
//import com.ruoyi.common.utils.spring.SpringUtils;
//import com.ruoyi.ss.account.domain.AccountQuery;
//import com.ruoyi.ss.account.service.AccountService;
//
//import javax.validation.ConstraintValidator;
//import javax.validation.ConstraintValidatorContext;
//
///**
// * 2023/10/20
// * 枚举值校验
// */
//public class AccountExistValidator implements ConstraintValidator<AccountExist, Long> {
//
//	private AccountExist annotation;
//
//	@Override
//	public void initialize(AccountExist constraintAnnotation) {
//		this.annotation = constraintAnnotation;
//	}
//
//	/**
//	 * 判断是否校验成功
//	 * @param value 待校验的值
//	 * @return 校验结果
//	 */
//	@Override
//	public boolean isValid(Long value, ConstraintValidatorContext context) {
//		// 如果待校验的值为null，是否校验通过
//		if (value == null) {
//			return annotation.allowNull();
//		}
//		try {
//			AccountService service = SpringUtils.getBean(AccountService.class);
//			AccountQuery query = new AccountQuery();
//			query.setAccountId(value);
//			if (annotation.checkBelong()) {
//				query.setUserId(SecurityUtils.getUserId());
//			}
//			return service.selectOne(query) != null;
//		} catch (Exception e) {
//			throw new RuntimeException(e);
//		}
//	}
//}
//
