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

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