学生认领新增按学号认领(不校验姓名)
学号已在认证平台持密码验过,属可信来源,不必再用姓名二次校验 (名册姓名与平台姓名格式不一致时会误伤)。名册无此学号、已被他人 认领仍返回 false。
This commit is contained in:
@@ -34,6 +34,18 @@ public interface StudentClaimService {
|
|||||||
*/
|
*/
|
||||||
ClaimResult claimByXhAndName(User user, String xh, String xm);
|
ClaimResult claimByXhAndName(User user, String xh, String xm);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按学号认领,<b>不校验姓名</b>。
|
||||||
|
*
|
||||||
|
* <p>供统一身份认证登录使用:学号是持密码在认证平台验过的,属可信来源,
|
||||||
|
* 不再需要姓名二次校验(名册姓名与平台姓名格式不一致时会误伤)。
|
||||||
|
*
|
||||||
|
* @param user 登录用户
|
||||||
|
* @param xh 学号
|
||||||
|
* @return 是否认领成功(名册无此学号、已被他人认领都返回 false)
|
||||||
|
*/
|
||||||
|
boolean claimByXh(User user, String xh);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 人工认领/改绑。
|
* 人工认领/改绑。
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -88,6 +88,28 @@ public class StudentClaimServiceImpl implements StudentClaimService {
|
|||||||
: ClaimResult.fail("认领失败");
|
: 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<GxmuStudent>()
|
||||||
|
.eq(GxmuStudent::getTenantId, OpenplatSyncConstants.TENANT_ID)
|
||||||
|
.eq(GxmuStudent::getXh, studentNo)
|
||||||
|
.last("limit 1"));
|
||||||
|
if (student == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (student.getUserId() != null) {
|
||||||
|
return student.getUserId().equals(user.getUserId());
|
||||||
|
}
|
||||||
|
return doClaim(user, student);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bind(Integer studentId, Integer userId, String phone, Integer tenantId) {
|
public boolean bind(Integer studentId, Integer userId, String phone, Integer tenantId) {
|
||||||
GxmuStudent student = getStudent(studentId, tenantId);
|
GxmuStudent student = getStudent(studentId, tenantId);
|
||||||
|
|||||||
Reference in New Issue
Block a user