commit
This commit is contained in:
+21
-12
@@ -121,16 +121,15 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
||||
*/
|
||||
private boolean checkMembershipEligibility(String userState, String preparedBy, Date postDoctoralJoinDate) {
|
||||
// 博士后单独判断:只要进站时间在两年内就是会员
|
||||
if ("博士后".equals(preparedBy)) {
|
||||
if (postDoctoralJoinDate != null) {
|
||||
Date twoYearsAgo = DateUtil.offset(DateUtil.date(), DateField.YEAR, -2).toJdkDate();
|
||||
return postDoctoralJoinDate.after(twoYearsAgo);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// if ("博士后".equals(preparedBy)) {
|
||||
// if (postDoctoralJoinDate != null) {
|
||||
// Date twoYearsAgo = DateUtil.offset(DateUtil.date(), DateField.YEAR, -2).toJdkDate();
|
||||
// return postDoctoralJoinDate.after(twoYearsAgo);
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 其他人员需要判断在岗状态和聘用方式
|
||||
if (!"在岗".equals(userState)) {
|
||||
if (!"在岗".equals(userState) && !"在岗-里仁学院".equals(userState)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -195,7 +194,11 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
||||
u.setSalt(salt);
|
||||
u.setPassword(PwdUtil.getPassword(PwdUtil.generate(12), salt));
|
||||
|
||||
if (u.getMember()) {
|
||||
// 判断是否为会员
|
||||
boolean isMember = checkMembershipEligibility(u.getUserState(), u.getPreparedBy(), u.getPostDoctoralJoinDate());
|
||||
u.setMember(isMember);
|
||||
|
||||
if (isMember) {
|
||||
addMemberUserIds.add(u.getId());
|
||||
}
|
||||
needInitUserList.add(u);
|
||||
@@ -205,10 +208,16 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
||||
|
||||
// 更新会员状态
|
||||
boolean currentIsMember = user.getMember() != null && user.getMember();
|
||||
boolean shouldBeMember = checkMembershipEligibility(u.getUserState(), u.getPreparedBy(), u.getPostDoctoralJoinDate());
|
||||
|
||||
if (!currentIsMember) {
|
||||
// 设置新的会员状态
|
||||
u.setMember(shouldBeMember);
|
||||
|
||||
if (shouldBeMember && !currentIsMember) {
|
||||
// 应该是会员但当前不是,需要添加
|
||||
addMemberUserIds.add(user.getId());
|
||||
} else{
|
||||
} else if (!shouldBeMember && currentIsMember) {
|
||||
// 不应该是会员但当前是,需要移除
|
||||
removeMemberUserIds.add(user.getId());
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ public class SysDataUserIncrUpdateServiceImpl implements SysDataUserUpdateServic
|
||||
|
||||
// 检查是否符合会员条件
|
||||
// 1. 用户状态为"在岗"
|
||||
if ("在岗".equals(sysUser.getUserState())) {
|
||||
if ("在岗".equals(sysUser.getUserState()) || "在岗-里仁学院".equals(sysUser.getUserState())) {
|
||||
// 2. 检查聘用方式条件
|
||||
List<String> membershipQualifyingPreparedBy = Arrays.asList("新人事代理", "校聘合同制", "事业编制");
|
||||
|
||||
@@ -79,12 +79,12 @@ public class SysDataUserIncrUpdateServiceImpl implements SysDataUserUpdateServic
|
||||
|
||||
// 第二种情况:聘用方式是博士后,且进站时间不超过两年
|
||||
boolean isQualifiedPostdoc = false;
|
||||
if ("博士后".equals(sysUser.getPreparedBy()) && sysUser.getPostDoctoralJoinDate() != null) {
|
||||
Calendar twoYearsAgo = Calendar.getInstance();
|
||||
twoYearsAgo.add(Calendar.YEAR, -2);
|
||||
Date twoYearsAgoDate = twoYearsAgo.getTime();
|
||||
isQualifiedPostdoc = sysUser.getPostDoctoralJoinDate().after(twoYearsAgoDate);
|
||||
}
|
||||
// if ("博士后".equals(sysUser.getPreparedBy()) && sysUser.getPostDoctoralJoinDate() != null) {
|
||||
// Calendar twoYearsAgo = Calendar.getInstance();
|
||||
// twoYearsAgo.add(Calendar.YEAR, -2);
|
||||
// Date twoYearsAgoDate = twoYearsAgo.getTime();
|
||||
// isQualifiedPostdoc = sysUser.getPostDoctoralJoinDate().after(twoYearsAgoDate);
|
||||
// }
|
||||
|
||||
// 如果满足任一条件,设置为会员
|
||||
if (isQualifiedByPreparedBy || isQualifiedPostdoc) {
|
||||
|
||||
Reference in New Issue
Block a user