DengTaPullSchedule.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. package com.inspur.dt.task;
  2. import com.inspur.common.core.domain.entity.SysUser;
  3. import com.inspur.common.utils.StringUtils;
  4. import com.inspur.domain.partywork.PartyOrgManage;
  5. import com.inspur.dt.domain.DengTaSyncConstant;
  6. import com.inspur.dt.service.DengTaSyncService;
  7. import com.inspur.mapper.PartyOrgManageMapper;
  8. import com.inspur.system.domain.SysTableList;
  9. import com.inspur.system.domain.SysUserTableRel;
  10. import com.inspur.system.mapper.SysUserMapper;
  11. import com.inspur.system.service.ISysUserTableRelService;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Component;
  16. import org.springframework.util.CollectionUtils;
  17. import java.text.ParseException;
  18. import java.util.List;
  19. /**
  20. * 定时拉取灯塔数据任务
  21. *
  22. * @author lihao16
  23. */
  24. @Component("dengTaPullTask")
  25. public class DengTaPullSchedule {
  26. private static final Logger log = LoggerFactory.getLogger(DengTaPullSchedule.class);
  27. @Autowired
  28. private SysUserMapper sysUserMapper;
  29. @Autowired
  30. private DengTaSyncService dengTaSyncService;
  31. @Autowired
  32. private ISysUserTableRelService sysUserTableRelService;
  33. @Autowired
  34. private PartyOrgManageMapper partyOrgManageMapper;
  35. public void orgPullTask() throws ParseException {
  36. log.info(" === DengTaPullSchedule orgPullTask begin === ");
  37. // 查询处当前平台所有的用户
  38. List<SysUser> sysUserList = sysUserMapper.selectUserList(new SysUser());
  39. if (CollectionUtils.isEmpty(sysUserList)) {
  40. return;
  41. }
  42. for (SysUser sysUser : sysUserList) {
  43. log.info("pull data for user : " + sysUser.getUserName());
  44. String dtId = sysUser.getDtId();
  45. if (StringUtils.isEmpty(dtId)) {
  46. continue;
  47. }
  48. Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0);
  49. dengTaSyncService.orgPull(dtId,orgUTId);
  50. log.info("pull data for user success : " + sysUser.getUserName());
  51. }
  52. log.info(" === DengTaPullSchedule orgPullTask end === ");
  53. }
  54. public void memberPullTask() throws ParseException {
  55. log.info(" === DengTaPullSchedule memberPullTask begin === ");
  56. // 查询处当前平台所有的用户
  57. List<SysUser> sysUserList = sysUserMapper.selectUserList(new SysUser());
  58. if (CollectionUtils.isEmpty(sysUserList)) {
  59. return;
  60. }
  61. for (SysUser sysUser : sysUserList) {
  62. log.info("pull data for user : " + sysUser.getUserName());
  63. String dtOrgId = sysUser.getDtId();
  64. if (StringUtils.isEmpty(dtOrgId)) {
  65. continue;
  66. }
  67. Long memberUTId = getUserTableId(DengTaSyncConstant.MEMBER_MANAGE_TABLE_NAME,sysUser.getUserId(),0);
  68. Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0);
  69. PartyOrgManage partyOrgManage = partyOrgManageMapper.selectPartyOrgManageByDtIdAndUid(dtOrgId,orgUTId);
  70. String orgId = partyOrgManage.getId();
  71. dengTaSyncService.memberPull(orgId,dtOrgId,memberUTId);
  72. // 根据当前组织查询所有子组织
  73. List<PartyOrgManage> subOrgs = partyOrgManageMapper.selectChildrenOrgByDtIdAndUid(dtOrgId,orgUTId);
  74. if (CollectionUtils.isEmpty(subOrgs)) {
  75. continue;
  76. }
  77. for (PartyOrgManage subOrg : subOrgs) {
  78. String subOrgId = subOrg.getId();
  79. String subDtOrgId = subOrg.getDtId();
  80. if (StringUtils.isEmpty(subDtOrgId)) {
  81. continue;
  82. }
  83. dengTaSyncService.memberPull(subOrgId,subDtOrgId, memberUTId);
  84. }
  85. log.info("pull data for user success : " + sysUser.getUserName());
  86. }
  87. log.info(" === DengTaPullSchedule memberPullTask end === ");
  88. }
  89. public void meetingPullTask() throws ParseException {
  90. log.info(" === DengTaPullSchedule meetingPullTask begin === ");
  91. // 查询处当前平台所有的用户
  92. List<SysUser> sysUserList = sysUserMapper.selectUserList(new SysUser());
  93. if (CollectionUtils.isEmpty(sysUserList)) {
  94. return;
  95. }
  96. for (SysUser sysUser : sysUserList) {
  97. log.info("pull data for user : " + sysUser.getUserName());
  98. String dtOrgId = sysUser.getDtId();
  99. if (StringUtils.isEmpty(dtOrgId)) {
  100. continue;
  101. }
  102. Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0);
  103. PartyOrgManage partyOrgManage = partyOrgManageMapper.selectPartyOrgManageByDtIdAndUid(dtOrgId,orgUTId);
  104. String orgId = partyOrgManage.getId();
  105. dengTaSyncService.meetingPull(orgId,dtOrgId,sysUser.getUserId());
  106. // 根据当前组织查询所有子组织
  107. List<PartyOrgManage> subOrgs = partyOrgManageMapper.selectChildrenOrgByDtIdAndUid(dtOrgId,orgUTId);
  108. if (CollectionUtils.isEmpty(subOrgs)) {
  109. continue;
  110. }
  111. for (PartyOrgManage subOrg : subOrgs) {
  112. String subOrgId = subOrg.getId();
  113. String subDtOrgId = subOrg.getDtId();
  114. if (StringUtils.isEmpty(subDtOrgId)) {
  115. continue;
  116. }
  117. dengTaSyncService.meetingPull(subOrgId,subDtOrgId, sysUser.getUserId());
  118. }
  119. log.info("pull data for user success : " + sysUser.getUserName());
  120. }
  121. log.info(" === DengTaPullSchedule meetingPullTask end === ");
  122. }
  123. public void postPullTask() throws ParseException {
  124. log.info(" === DengTaPullSchedule postPullTask begin === ");
  125. // 查询处当前平台所有的用户
  126. List<SysUser> sysUserList = sysUserMapper.selectUserList(new SysUser());
  127. if (CollectionUtils.isEmpty(sysUserList)) {
  128. return;
  129. }
  130. for (SysUser sysUser : sysUserList) {
  131. log.info("pull data for user : " + sysUser.getUserName());
  132. String dtOrgId = sysUser.getDtId();
  133. if (StringUtils.isEmpty(dtOrgId)) {
  134. continue;
  135. }
  136. Long postUTId = getUserTableId(DengTaSyncConstant.ORG_POST_TABLE_NAME,sysUser.getUserId(),0);
  137. Long orgUTId = getUserTableId(DengTaSyncConstant.ORG_MANAGE_TABLE_NAME,sysUser.getUserId(),0);
  138. PartyOrgManage partyOrgManage = partyOrgManageMapper.selectPartyOrgManageByDtIdAndUid(dtOrgId,orgUTId);
  139. String orgId = partyOrgManage.getId();
  140. dengTaSyncService.postPull(orgId,dtOrgId,postUTId);
  141. // 根据当前组织查询所有子组织
  142. List<PartyOrgManage> subOrgs = partyOrgManageMapper.selectChildrenOrgByDtIdAndUid(dtOrgId,orgUTId);
  143. if (CollectionUtils.isEmpty(subOrgs)) {
  144. continue;
  145. }
  146. for (PartyOrgManage subOrg : subOrgs) {
  147. String subOrgId = subOrg.getId();
  148. String subDtOrgId = subOrg.getDtId();
  149. if (StringUtils.isEmpty(subDtOrgId)) {
  150. continue;
  151. }
  152. dengTaSyncService.postPull(subOrgId,subDtOrgId, postUTId);
  153. }
  154. log.info("pull data for user success : " + sysUser.getUserName());
  155. }
  156. log.info(" === DengTaPullSchedule postPullTask end === ");
  157. }
  158. private Long getUserTableId(String tableName, Long userId,Integer dateType) {
  159. SysTableList tableInfo = sysUserTableRelService.selectTableInfoByName(tableName,dateType);
  160. Long tableId = tableInfo.getId();
  161. SysUserTableRel tableRel = sysUserTableRelService.getRelByUserTableId(userId,tableId);
  162. Long userTableId = tableRel.getUserTableId();
  163. return userTableId;
  164. }
  165. }