修改 能否创建简历 检查逻辑

This commit is contained in:
zk
2026-05-15 16:32:14 +08:00
parent ee21c16d55
commit 391f7be9bf
2 changed files with 16 additions and 26 deletions
@@ -64,9 +64,7 @@ public class MemberGrantService {
memberUserMapper.insert(newMember);
} else {
Instant baseTime = memberUser.getExpireTime().isAfter(Instant.now()) ? memberUser.getExpireTime() : Instant.now();
memberUserMapper.update(null, new LambdaUpdateWrapper<MemberUser>()
.eq(MemberUser::getId, memberUser.getId())
.set(MemberUser::getExpireTime, baseTime.plus(days, ChronoUnit.DAYS)));
memberUserMapper.update(null, new LambdaUpdateWrapper<MemberUser>().eq(MemberUser::getId, memberUser.getId()).set(MemberUser::getExpireTime, baseTime.plus(days, ChronoUnit.DAYS)));
}
// 2. 发放功能权限
@@ -34,6 +34,9 @@ public class UserResumeService {
@Autowired
private UserResumeMapper userResumeMapper;
@Autowired
private MemberUserMapper memberUserMapper;
@Value("${app.resume.max-count:5}")
private int maxResumeCount;
@@ -56,10 +59,14 @@ public class UserResumeService {
/**
* 判断当前用户是否还能创建简历
* <p>统计用户已有简历数量,与配置的最大数量比较</p>
* <p>1. 会员有效期内不限制数量 2. 非会员按配置的最大数量限制</p>
*/
public boolean canCreateResume() {
Long userId = UserSecurityTool.getUserId();
MemberUser memberUser = memberUserMapper.selectOne(new LambdaQueryWrapper<MemberUser>().eq(MemberUser::getUserId, userId));
if (memberUser != null && memberUser.getExpireTime().isAfter(Instant.now())) {
return true;
}
Long count = userResumeMapper.selectCount(new LambdaQueryWrapper<UserResume>().eq(UserResume::getUserId, userId));
return count < maxResumeCount;
}
@@ -70,10 +77,7 @@ public class UserResumeService {
*/
public List<UserResume> listResume() {
Long userId = UserSecurityTool.getUserId();
return userResumeMapper.selectList(new LambdaQueryWrapper<UserResume>()
.eq(UserResume::getUserId, userId)
.orderByAsc(UserResume::getSortOrder)
.orderByDesc(UserResume::getCreateTime));
return userResumeMapper.selectList(new LambdaQueryWrapper<UserResume>().eq(UserResume::getUserId, userId).orderByAsc(UserResume::getSortOrder).orderByDesc(UserResume::getCreateTime));
}
// ==================== 主表 ====================
@@ -147,9 +151,7 @@ public class UserResumeService {
/** 查询简历的教育经历列表 */
public List<UserResumeEducation> listEducation(Long resumeId) {
checkResumeOwnership(resumeId);
return educationMapper.selectList(new LambdaQueryWrapper<UserResumeEducation>()
.eq(UserResumeEducation::getResumeId, resumeId)
.orderByAsc(UserResumeEducation::getSortOrder));
return educationMapper.selectList(new LambdaQueryWrapper<UserResumeEducation>().eq(UserResumeEducation::getResumeId, resumeId).orderByAsc(UserResumeEducation::getSortOrder));
}
/**
@@ -183,9 +185,7 @@ public class UserResumeService {
/** 查询简历的工作经历列表 */
public List<UserResumeWork> listWork(Long resumeId) {
checkResumeOwnership(resumeId);
return workMapper.selectList(new LambdaQueryWrapper<UserResumeWork>()
.eq(UserResumeWork::getResumeId, resumeId)
.orderByAsc(UserResumeWork::getSortOrder));
return workMapper.selectList(new LambdaQueryWrapper<UserResumeWork>().eq(UserResumeWork::getResumeId, resumeId).orderByAsc(UserResumeWork::getSortOrder));
}
/**
@@ -219,9 +219,7 @@ public class UserResumeService {
/** 查询简历的实习经历列表 */
public List<UserResumeInternship> listInternship(Long resumeId) {
checkResumeOwnership(resumeId);
return internshipMapper.selectList(new LambdaQueryWrapper<UserResumeInternship>()
.eq(UserResumeInternship::getResumeId, resumeId)
.orderByAsc(UserResumeInternship::getSortOrder));
return internshipMapper.selectList(new LambdaQueryWrapper<UserResumeInternship>().eq(UserResumeInternship::getResumeId, resumeId).orderByAsc(UserResumeInternship::getSortOrder));
}
/**
@@ -255,9 +253,7 @@ public class UserResumeService {
/** 查询简历的项目经历列表 */
public List<UserResumeProject> listProject(Long resumeId) {
checkResumeOwnership(resumeId);
return projectMapper.selectList(new LambdaQueryWrapper<UserResumeProject>()
.eq(UserResumeProject::getResumeId, resumeId)
.orderByAsc(UserResumeProject::getSortOrder));
return projectMapper.selectList(new LambdaQueryWrapper<UserResumeProject>().eq(UserResumeProject::getResumeId, resumeId).orderByAsc(UserResumeProject::getSortOrder));
}
/**
@@ -291,9 +287,7 @@ public class UserResumeService {
/** 查询简历的竞赛经历列表 */
public List<UserResumeCompetition> listCompetition(Long resumeId) {
checkResumeOwnership(resumeId);
return competitionMapper.selectList(new LambdaQueryWrapper<UserResumeCompetition>()
.eq(UserResumeCompetition::getResumeId, resumeId)
.orderByAsc(UserResumeCompetition::getSortOrder));
return competitionMapper.selectList(new LambdaQueryWrapper<UserResumeCompetition>().eq(UserResumeCompetition::getResumeId, resumeId).orderByAsc(UserResumeCompetition::getSortOrder));
}
/**
@@ -606,9 +600,7 @@ public class UserResumeService {
* <p>子表保存后调用,确保主表update_time反映简历整体最后修改时间</p>
*/
private void touchResumeUpdateTime(Long resumeId) {
userResumeMapper.update(null, new LambdaUpdateWrapper<UserResume>()
.eq(UserResume::getId, resumeId)
.set(UserResume::getUpdateTime, Instant.now()));
userResumeMapper.update(null, new LambdaUpdateWrapper<UserResume>().eq(UserResume::getId, resumeId).set(UserResume::getUpdateTime, Instant.now()));
}
/**