package com.inspur.dt.task; import com.inspur.common.core.domain.entity.SysUser; import com.inspur.common.utils.StringUtils; import com.inspur.domain.partywork.PartyOrgManage; import com.inspur.dt.domain.DengTaSyncConstant; import com.inspur.dt.service.DengTaSyncService; import com.inspur.mapper.PartyOrgManageMapper; import com.inspur.system.domain.SysTableList; import com.inspur.system.domain.SysUserTableRel; import com.inspur.system.mapper.SysUserMapper; import com.inspur.system.service.ISysUserTableRelService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.text.ParseException; import java.util.List; /** * 定时拉取灯塔数据任务 * * @author lihao16 */ @Component("dengTaPullTask") public class DengTaPullSchedule { private static final Logger log = LoggerFactory.getLogger(DengTaPullSchedule.class); @Autowired private SysUserMapper sysUserMapper; @Autowired private DengTaSyncService dengTaSyncService; @Autowired private ISysUserTableRelService sysUserTableRelService; @Autowired private PartyOrgManageMapper partyOrgManageMapper; public void orgPullTask() throws ParseException { log.info(" === DengTaPullSchedule orgPullTask begin === "); // 查询处当前平台所有的用户 List sysUserList = sysUserMapper.selectUserList(new SysUser()); if (CollectionUtils.isEmpty(sysUserList)) { return; } for (SysUser sysUser : sysUserList) { log.info("pull data for user : " + sysUser.getUserName()); String dtId = sysUser.getDtId(); if (StringUtils.isEmpty(dtId)) { continue; } Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0); dengTaSyncService.orgPull(dtId,orgUTId); log.info("pull data for user success : " + sysUser.getUserName()); } log.info(" === DengTaPullSchedule orgPullTask end === "); } public void memberPullTask() throws ParseException { log.info(" === DengTaPullSchedule memberPullTask begin === "); // 查询处当前平台所有的用户 List sysUserList = sysUserMapper.selectUserList(new SysUser()); if (CollectionUtils.isEmpty(sysUserList)) { return; } for (SysUser sysUser : sysUserList) { log.info("pull data for user : " + sysUser.getUserName()); String dtOrgId = sysUser.getDtId(); if (StringUtils.isEmpty(dtOrgId)) { continue; } Long memberUTId = getUserTableId(DengTaSyncConstant.MEMBER_MANAGE_TABLE_NAME,sysUser.getUserId(),0); Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0); PartyOrgManage partyOrgManage = partyOrgManageMapper.selectPartyOrgManageByDtIdAndUid(dtOrgId,orgUTId); String orgId = partyOrgManage.getId(); dengTaSyncService.memberPull(orgId,dtOrgId,memberUTId); // 根据当前组织查询所有子组织 List subOrgs = partyOrgManageMapper.selectChildrenOrgByDtIdAndUid(dtOrgId,orgUTId); if (CollectionUtils.isEmpty(subOrgs)) { continue; } for (PartyOrgManage subOrg : subOrgs) { String subOrgId = subOrg.getId(); String subDtOrgId = subOrg.getDtId(); if (StringUtils.isEmpty(subDtOrgId)) { continue; } dengTaSyncService.memberPull(subOrgId,subDtOrgId, memberUTId); } log.info("pull data for user success : " + sysUser.getUserName()); } log.info(" === DengTaPullSchedule memberPullTask end === "); } public void meetingPullTask() throws ParseException { log.info(" === DengTaPullSchedule meetingPullTask begin === "); // 查询处当前平台所有的用户 List sysUserList = sysUserMapper.selectUserList(new SysUser()); if (CollectionUtils.isEmpty(sysUserList)) { return; } for (SysUser sysUser : sysUserList) { log.info("pull data for user : " + sysUser.getUserName()); String dtOrgId = sysUser.getDtId(); if (StringUtils.isEmpty(dtOrgId)) { continue; } Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0); PartyOrgManage partyOrgManage = partyOrgManageMapper.selectPartyOrgManageByDtIdAndUid(dtOrgId,orgUTId); String orgId = partyOrgManage.getId(); dengTaSyncService.meetingPull(orgId,dtOrgId,sysUser.getUserId()); // 根据当前组织查询所有子组织 List subOrgs = partyOrgManageMapper.selectChildrenOrgByDtIdAndUid(dtOrgId,orgUTId); if (CollectionUtils.isEmpty(subOrgs)) { continue; } for (PartyOrgManage subOrg : subOrgs) { String subOrgId = subOrg.getId(); String subDtOrgId = subOrg.getDtId(); if (StringUtils.isEmpty(subDtOrgId)) { continue; } dengTaSyncService.meetingPull(subOrgId,subDtOrgId, sysUser.getUserId()); } log.info("pull data for user success : " + sysUser.getUserName()); } log.info(" === DengTaPullSchedule meetingPullTask end === "); } public void postPullTask() throws ParseException { log.info(" === DengTaPullSchedule postPullTask begin === "); // 查询处当前平台所有的用户 List sysUserList = sysUserMapper.selectUserList(new SysUser()); if (CollectionUtils.isEmpty(sysUserList)) { return; } for (SysUser sysUser : sysUserList) { log.info("pull data for user : " + sysUser.getUserName()); String dtOrgId = sysUser.getDtId(); if (StringUtils.isEmpty(dtOrgId)) { continue; } Long postUTId = getUserTableId(DengTaSyncConstant.ORG_POST_TABLE_NAME,sysUser.getUserId(),0); Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0); PartyOrgManage partyOrgManage = partyOrgManageMapper.selectPartyOrgManageByDtIdAndUid(dtOrgId,orgUTId); String orgId = partyOrgManage.getId(); dengTaSyncService.postPull(orgId,dtOrgId,postUTId); // 根据当前组织查询所有子组织 List subOrgs = partyOrgManageMapper.selectChildrenOrgByDtIdAndUid(dtOrgId,orgUTId); if (CollectionUtils.isEmpty(subOrgs)) { continue; } for (PartyOrgManage subOrg : subOrgs) { String subOrgId = subOrg.getId(); String subDtOrgId = subOrg.getDtId(); if (StringUtils.isEmpty(subDtOrgId)) { continue; } dengTaSyncService.postPull(subOrgId,subDtOrgId, postUTId); } log.info("pull data for user success : " + sysUser.getUserName()); } log.info(" === DengTaPullSchedule postPullTask end === "); } private Long getUserTableId(String tableName, Long userId,Integer dateType) { SysTableList tableInfo = sysUserTableRelService.selectTableInfoByName(tableName,dateType); Long tableId = tableInfo.getId(); SysUserTableRel tableRel = sysUserTableRelService.getRelByUserTableId(userId,tableId); Long userTableId = tableRel.getUserTableId(); return userTableId; } }