大小写兼容

This commit is contained in:
黎润豪 2026-04-01 16:12:19 +08:00
parent af59e69ca9
commit 332b021aa0
1 changed files with 11 additions and 1 deletions

View File

@ -33,8 +33,11 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
@ -646,7 +649,14 @@ public class OAuth2Controller extends BaseController {
.location(java.net.URI.create("/integration/#/login?requestId=" + requestId + "&error=" + URLEncoder.encode("统一身份认证回调信息不足以支持登录,请联系系统管理员", "UTF-8")))
.build();
}
List<UserSupInfo> supList = userSupInfoService.lambdaQuery().eq(UserSupInfo::getIdcardAbstr, DigestUtils.md5DigestAsHex(userInfo.getIdCard().getBytes())).list();
// 处理身份证末尾x的大小写兼容
Set<String> idCardList = new HashSet<>(2);
String idCard = userInfo.getIdCard();
idCardList.add(DigestUtils.md5DigestAsHex(idCard.toUpperCase().getBytes(StandardCharsets.UTF_8)));
idCardList.add(DigestUtils.md5DigestAsHex(idCard.toLowerCase().getBytes(StandardCharsets.UTF_8)));
List<UserSupInfo> supList = userSupInfoService.lambdaQuery().in(UserSupInfo::getIdcardAbstr, idCardList).list();
if (CollectionUtils.isEmpty(supList)) {
return ResponseEntity.status(HttpStatus.FOUND)
.location(java.net.URI.create("/integration/#/login?requestId=" + requestId + "&error=" + URLEncoder.encode("无匹配的综合监管用户,请联系系统管理员", "UTF-8")))