..
This commit is contained in:
@@ -129,13 +129,16 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
* @param postDoctoralJoinDate 博士后进站时间
|
* @param postDoctoralJoinDate 博士后进站时间
|
||||||
* @return 是否符合会员条件
|
* @return 是否符合会员条件
|
||||||
*/
|
*/
|
||||||
private boolean checkMembershipEligibility(String userState, String preparedBy, Date postDoctoralJoinDate) {
|
private boolean checkMembershipEligibility(String userState, String preparedBy, Date postDoctoralJoinDate, Sys_user user) {
|
||||||
// 博士后单独判断:只要进站时间在两年内就是会员
|
// 博士后单独判断:只要进站时间在两年内就是会员
|
||||||
if ("博士后".equals(preparedBy)) {
|
if ("博士后".equals(preparedBy)) {
|
||||||
if (postDoctoralJoinDate != null) {
|
|
||||||
Date twoYearsAgo = DateUtil.offset(DateUtil.date(), DateField.YEAR, -2).toJdkDate();
|
Date twoYearsAgo = DateUtil.offset(DateUtil.date(), DateField.YEAR, -2).toJdkDate();
|
||||||
|
if (postDoctoralJoinDate != null) {
|
||||||
return postDoctoralJoinDate.after(twoYearsAgo);
|
return postDoctoralJoinDate.after(twoYearsAgo);
|
||||||
}
|
}
|
||||||
|
if (Lang.isNotEmpty(user) && user.getPostDoctoralJoinDate() != null) {
|
||||||
|
return user.getPostDoctoralJoinDate().after(twoYearsAgo);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,7 +148,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 判断聘用方式
|
// 判断聘用方式
|
||||||
Set<String> memberPreparedByTypes = new HashSet<>(Arrays.asList("新人事代理", "校聘合同制", "事业编制"));
|
Set<String> memberPreparedByTypes = new HashSet<>(Arrays.asList("新人事代理", "校聘合同制", "事业编制", "劳动合同"));
|
||||||
return memberPreparedByTypes.contains(preparedBy);
|
return memberPreparedByTypes.contains(preparedBy);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,7 +173,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
|
|
||||||
// 处理复杂条件
|
// 处理复杂条件
|
||||||
if (updateParam.getConditionGroup() != null) {
|
if (updateParam.getConditionGroup() != null) {
|
||||||
cnd = ConditionGroupUtil.applyConditionGroup(cnd, updateParam.getConditionGroup());
|
// cnd = ConditionGroupUtil.applyConditionGroup(cnd, updateParam.getConditionGroup());
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Sys_user_source> sources = dao.query(Sys_user_source.class, cnd.groupBy("loginname"));
|
List<Sys_user_source> sources = dao.query(Sys_user_source.class, cnd.groupBy("loginname"));
|
||||||
@@ -189,6 +192,9 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
|
|
||||||
// 处理每条数据
|
// 处理每条数据
|
||||||
for (Sys_user_source source : sources) {
|
for (Sys_user_source source : sources) {
|
||||||
|
source.setMember(null);
|
||||||
|
source.setWelfareMember(null);
|
||||||
|
|
||||||
Sys_user user = userMap.get(source.getLoginname());
|
Sys_user user = userMap.get(source.getLoginname());
|
||||||
|
|
||||||
// 创建用户对象
|
// 创建用户对象
|
||||||
@@ -205,7 +211,8 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
boolean shouldBeMember = checkMembershipEligibility(
|
boolean shouldBeMember = checkMembershipEligibility(
|
||||||
source.getUserState(),
|
source.getUserState(),
|
||||||
source.getPreparedBy(),
|
source.getPreparedBy(),
|
||||||
source.getPostDoctoralJoinDate()
|
source.getPostDoctoralJoinDate(),
|
||||||
|
null
|
||||||
);
|
);
|
||||||
|
|
||||||
if (shouldBeMember) {
|
if (shouldBeMember) {
|
||||||
@@ -213,6 +220,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
addMemberUserIds.add(u.getId());
|
addMemberUserIds.add(u.getId());
|
||||||
} else {
|
} else {
|
||||||
u.setMember(false);
|
u.setMember(false);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
needInitUserList.add(u);
|
needInitUserList.add(u);
|
||||||
@@ -224,9 +232,14 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
boolean shouldBeMember = checkMembershipEligibility(
|
boolean shouldBeMember = checkMembershipEligibility(
|
||||||
source.getUserState(),
|
source.getUserState(),
|
||||||
source.getPreparedBy(),
|
source.getPreparedBy(),
|
||||||
source.getPostDoctoralJoinDate()
|
source.getPostDoctoralJoinDate(),
|
||||||
|
user
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if(user.getLoginname().equals("45066")){
|
||||||
|
System.out.println("..");
|
||||||
|
}
|
||||||
|
|
||||||
// 更新会员状态
|
// 更新会员状态
|
||||||
boolean currentIsMember = user.getMember() != null && user.getMember();
|
boolean currentIsMember = user.getMember() != null && user.getMember();
|
||||||
|
|
||||||
@@ -403,6 +416,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
long endTime = System.currentTimeMillis();
|
long endTime = System.currentTimeMillis();
|
||||||
log.info("全量更新用户数据完成,耗时: {} 毫秒", (endTime - startTime));
|
log.info("全量更新用户数据完成,耗时: {} 毫秒", (endTime - startTime));
|
||||||
|
|
||||||
|
|
||||||
return "更新完成: 新增用户 " + needInitUserList.size() + " 个, 更新用户 " + needDoUpdateList.size()
|
return "更新完成: 新增用户 " + needInitUserList.size() + " 个, 更新用户 " + needDoUpdateList.size()
|
||||||
+ " 个, 待添加会员 " + addMemberUserIds.size() + " 个, 待移除会员 " + removeMemberUserIds.size() + " 个";
|
+ " 个, 待添加会员 " + addMemberUserIds.size() + " 个, 待移除会员 " + removeMemberUserIds.size() + " 个";
|
||||||
}
|
}
|
||||||
@@ -486,8 +500,8 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
// 生成变更信息描述
|
// 生成变更信息描述
|
||||||
String changeInfos = changeList.stream()
|
String changeInfos = changeList.stream()
|
||||||
.map(v -> v.getString("name") + ":" +
|
.map(v -> v.getString("name") + ":" +
|
||||||
HtmlUtil.cleanHtmlTag(v.getString("value")) + "→" +
|
HtmlUtil.cleanHtmlTag(v.getString("value", "")) + "→" +
|
||||||
HtmlUtil.cleanHtmlTag(v.getString("newValue")))
|
HtmlUtil.cleanHtmlTag(v.getString("newValue", "")))
|
||||||
.collect(Collectors.joining(";"));
|
.collect(Collectors.joining(";"));
|
||||||
|
|
||||||
// 设置历史记录信息
|
// 设置历史记录信息
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.budwk.app.sys.models.Sys_user_source;
|
|||||||
import com.budwk.app.sys.param.SysDataUserUpdateParam;
|
import com.budwk.app.sys.param.SysDataUserUpdateParam;
|
||||||
import com.budwk.app.sys.services.SysDataUserPullService;
|
import com.budwk.app.sys.services.SysDataUserPullService;
|
||||||
import com.budwk.app.sys.services.SysDataUserUpdateService;
|
import com.budwk.app.sys.services.SysDataUserUpdateService;
|
||||||
|
import com.budwk.app.sys.services.impl.SysDataUserAllUpdateServiceImpl;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nutz.dao.Cnd;
|
import org.nutz.dao.Cnd;
|
||||||
import org.nutz.dao.Dao;
|
import org.nutz.dao.Dao;
|
||||||
@@ -34,11 +35,11 @@ public class SysUserAllRenewJob implements Job {
|
|||||||
@Inject
|
@Inject
|
||||||
private SysDataUserPullService sysDataUserPullService;
|
private SysDataUserPullService sysDataUserPullService;
|
||||||
@Inject
|
@Inject
|
||||||
private SysDataUserUpdateService sysDataUserUpdateService;
|
private SysDataUserAllUpdateServiceImpl sysDataUserUpdateService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
||||||
Date pullTime = sysDataUserPullService.pull();
|
// Date pullTime = sysDataUserPullService.pull();
|
||||||
JobDataMap jobDataMap = jobExecutionContext.getJobDetail().getJobDataMap();
|
JobDataMap jobDataMap = jobExecutionContext.getJobDetail().getJobDataMap();
|
||||||
NutMap conditionGroupMap = (NutMap)jobDataMap.get("conditionGroup");
|
NutMap conditionGroupMap = (NutMap)jobDataMap.get("conditionGroup");
|
||||||
if(conditionGroupMap == null || conditionGroupMap.isEmpty()){
|
if(conditionGroupMap == null || conditionGroupMap.isEmpty()){
|
||||||
@@ -53,10 +54,11 @@ public class SysUserAllRenewJob implements Job {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SysDataUserUpdateParam param = new SysDataUserUpdateParam();
|
SysDataUserUpdateParam param = new SysDataUserUpdateParam();
|
||||||
param.setPullTime(DateUtil.formatDateTime(pullTime));
|
// param.setPullTime(DateUtil.formatDateTime(pullTime));
|
||||||
|
param.setPullTime("2025-09-10 16:45:01");
|
||||||
param.setUpdateMode(SysDataUpdateMode.ALL.name());
|
param.setUpdateMode(SysDataUpdateMode.ALL.name());
|
||||||
param.setConditionGroup(conditionGroup);
|
param.setConditionGroup(conditionGroup);
|
||||||
|
|
||||||
// sysDataUserUpdateService.update(param);
|
sysDataUserUpdateService.update(param);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -261,12 +261,7 @@
|
|||||||
|
|
||||||
<!--vuex-->
|
<!--vuex-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$.get('/platform/auth/userInfo').then(res=>{
|
window.sessionStorage.setItem("user",JSON.stringify(${json(@auth.getLogonUser())}))
|
||||||
if(res.code===0){
|
|
||||||
// window.sessionStorage.setItem("user",JSON.stringify(${json(@auth.getLogonUser())}))
|
|
||||||
window.sessionStorage.setItem("user",JSON.stringify(res.data))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
window.store = new Vuex.Store({
|
window.store = new Vuex.Store({
|
||||||
plugins: [
|
plugins: [
|
||||||
createPersistedState({
|
createPersistedState({
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ layout("/layouts/platform.html"){
|
|||||||
@node-click="treeNodeClick"
|
@node-click="treeNodeClick"
|
||||||
:filter-node-method="filterNode"
|
:filter-node-method="filterNode"
|
||||||
highlight-current
|
highlight-current
|
||||||
></el-tree>
|
>
|
||||||
|
|
||||||
|
</el-tree>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|||||||
Reference in New Issue
Block a user