diff --git a/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimService.java b/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimService.java index 9c19c9e..fa49fd1 100644 --- a/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimService.java +++ b/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimService.java @@ -34,6 +34,18 @@ public interface StudentClaimService { */ ClaimResult claimByXhAndName(User user, String xh, String xm); + /** + * 按学号认领,不校验姓名。 + * + *
供统一身份认证登录使用:学号是持密码在认证平台验过的,属可信来源,
+ * 不再需要姓名二次校验(名册姓名与平台姓名格式不一致时会误伤)。
+ *
+ * @param user 登录用户
+ * @param xh 学号
+ * @return 是否认领成功(名册无此学号、已被他人认领都返回 false)
+ */
+ boolean claimByXh(User user, String xh);
+
/**
* 人工认领/改绑。
*
diff --git a/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimServiceImpl.java b/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimServiceImpl.java
index eda8d25..61314d5 100644
--- a/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimServiceImpl.java
+++ b/src/main/java/com/gxwebsoft/gxmu/openplat/claim/StudentClaimServiceImpl.java
@@ -88,6 +88,28 @@ public class StudentClaimServiceImpl implements StudentClaimService {
: ClaimResult.fail("认领失败");
}
+ @Override
+ public boolean claimByXh(User user, String xh) {
+ if (user == null || user.getUserId() == null) {
+ return false;
+ }
+ String studentNo = StrUtil.trimToNull(xh);
+ if (studentNo == null) {
+ return false;
+ }
+ GxmuStudent student = studentMapper.selectOne(new LambdaQueryWrapper