|
@@ -1,13 +1,16 @@
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.qmth.distributed.print.business.entity.TBSyncTask;
|
|
import com.qmth.distributed.print.business.entity.TBSyncTask;
|
|
import com.qmth.distributed.print.business.service.CloudUserPushService;
|
|
import com.qmth.distributed.print.business.service.CloudUserPushService;
|
|
import com.qmth.distributed.print.business.service.CloudUserPushStatusService;
|
|
import com.qmth.distributed.print.business.service.CloudUserPushStatusService;
|
|
|
|
+import com.qmth.distributed.print.business.service.DataSyncService;
|
|
import com.qmth.distributed.print.business.service.TBSyncTaskService;
|
|
import com.qmth.distributed.print.business.service.TBSyncTaskService;
|
|
import com.qmth.teachcloud.common.bean.params.UserPushParam;
|
|
import com.qmth.teachcloud.common.bean.params.UserPushParam;
|
|
import com.qmth.teachcloud.common.bean.result.PushResult;
|
|
import com.qmth.teachcloud.common.bean.result.PushResult;
|
|
import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
|
+import com.qmth.teachcloud.common.entity.SysOrg;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.RoleTypeEnum;
|
|
import com.qmth.teachcloud.common.enums.RoleTypeEnum;
|
|
import com.qmth.teachcloud.common.enums.TaskResultEnum;
|
|
import com.qmth.teachcloud.common.enums.TaskResultEnum;
|
|
@@ -15,8 +18,7 @@ import com.qmth.teachcloud.common.enums.TaskStatusEnum;
|
|
import com.qmth.teachcloud.common.enums.userPush.SpecialPrivilegeEnum;
|
|
import com.qmth.teachcloud.common.enums.userPush.SpecialPrivilegeEnum;
|
|
import com.qmth.teachcloud.common.enums.userPush.SyncStatusEnum;
|
|
import com.qmth.teachcloud.common.enums.userPush.SyncStatusEnum;
|
|
import com.qmth.teachcloud.common.enums.userPush.UserPushResultEnum;
|
|
import com.qmth.teachcloud.common.enums.userPush.UserPushResultEnum;
|
|
-import com.qmth.teachcloud.common.service.SysRoleService;
|
|
|
|
-import com.qmth.teachcloud.common.service.SysUserRoleService;
|
|
|
|
|
|
+import com.qmth.teachcloud.common.service.SysOrgService;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.sync.CloudMarkingTaskUtils;
|
|
import com.qmth.teachcloud.common.sync.CloudMarkingTaskUtils;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
@@ -34,10 +36,6 @@ import java.util.stream.Collectors;
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
public class CloudUserPushServiceImpl implements CloudUserPushService {
|
|
public class CloudUserPushServiceImpl implements CloudUserPushService {
|
|
- @Resource
|
|
|
|
- private SysUserRoleService sysUserRoleService;
|
|
|
|
- @Resource
|
|
|
|
- private SysRoleService sysRoleService;
|
|
|
|
@Resource
|
|
@Resource
|
|
private SysUserService sysUserService;
|
|
private SysUserService sysUserService;
|
|
@Resource
|
|
@Resource
|
|
@@ -46,6 +44,12 @@ public class CloudUserPushServiceImpl implements CloudUserPushService {
|
|
private TBSyncTaskService tbSyncTaskService;
|
|
private TBSyncTaskService tbSyncTaskService;
|
|
@Resource
|
|
@Resource
|
|
private CloudUserPushStatusService cloudUserPushStatusService;
|
|
private CloudUserPushStatusService cloudUserPushStatusService;
|
|
|
|
+ @Resource
|
|
|
|
+ private SysOrgService sysOrgService;
|
|
|
|
+ @Resource
|
|
|
|
+ private CloudMarkingTaskUtils cloudMarkingTaskUtils;
|
|
|
|
+ @Resource
|
|
|
|
+ private DataSyncService dataSyncService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void pushCloudUser(Long userId, SysUser requestUser) throws IllegalAccessException {
|
|
public void pushCloudUser(Long userId, SysUser requestUser) throws IllegalAccessException {
|
|
@@ -86,9 +90,19 @@ public class CloudUserPushServiceImpl implements CloudUserPushService {
|
|
try {
|
|
try {
|
|
List<UserPushParam> userPushParamList = userPushMap.get(userId);
|
|
List<UserPushParam> userPushParamList = userPushMap.get(userId);
|
|
for (UserPushParam userPushParam : userPushParamList) {
|
|
for (UserPushParam userPushParam : userPushParamList) {
|
|
|
|
+ // 推送用户
|
|
SpecialPrivilegeEnum specialRole = userPushParam.getRole();
|
|
SpecialPrivilegeEnum specialRole = userPushParam.getRole();
|
|
|
|
+
|
|
boolean bind = userPushParam.getEnable();
|
|
boolean bind = userPushParam.getEnable();
|
|
- PushResult pushResult = stmmsUtils.syncUser(userPushParam);
|
|
|
|
|
|
+ String account = userPushParam.getAccount();
|
|
|
|
+ String name = userPushParam.getName();
|
|
|
|
+ String password = userPushParam.getPassword();
|
|
|
|
+ int roleValue = userPushParam.getRole().getValue();
|
|
|
|
+ Boolean enable = userPushParam.getEnable();
|
|
|
|
+ Long schoolId = userPushParam.getSchoolId();
|
|
|
|
+ String orgCode = userPushParam.getOrgCode();
|
|
|
|
+
|
|
|
|
+ PushResult pushResult = stmmsUtils.syncUser(account,name,password,roleValue,enable,schoolId,orgCode);
|
|
boolean syncResult = pushResult.getSuccess();
|
|
boolean syncResult = pushResult.getSuccess();
|
|
String syncExceptionCell = null;
|
|
String syncExceptionCell = null;
|
|
|
|
|
|
@@ -146,21 +160,33 @@ public class CloudUserPushServiceImpl implements CloudUserPushService {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 构建用户推送map
|
|
|
|
|
|
+ * 构建用户推送map 判断并推送学院机构
|
|
*
|
|
*
|
|
* @param sysUserList 用户集合
|
|
* @param sysUserList 用户集合
|
|
* @param schoolId 学校id
|
|
* @param schoolId 学校id
|
|
* @return k -> userId v-> List<UserPushParam> 有且只有两条记录
|
|
* @return k -> userId v-> List<UserPushParam> 有且只有两条记录
|
|
*/
|
|
*/
|
|
private Map<Long, List<UserPushParam>> buildUserPushMap(List<SysUser> sysUserList, Long schoolId) {
|
|
private Map<Long, List<UserPushParam>> buildUserPushMap(List<SysUser> sysUserList, Long schoolId) {
|
|
- Map<Long, List<UserPushParam>> userPushMap = new HashMap<>();
|
|
|
|
|
|
+ // 构建用户机构id键值对
|
|
|
|
+ Map<Long, SysOrg> orgMap = sysOrgService.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId,schoolId))
|
|
|
|
+ .stream()
|
|
|
|
+ .collect(Collectors.toMap(SysOrg::getId, v -> v));
|
|
|
|
|
|
|
|
+ Map<Long, List<UserPushParam>> userPushMap = new HashMap<>();
|
|
for (SysUser sysUser : sysUserList) {
|
|
for (SysUser sysUser : sysUserList) {
|
|
// 用户基础信息
|
|
// 用户基础信息
|
|
Long userId = sysUser.getId();
|
|
Long userId = sysUser.getId();
|
|
|
|
+ Long orgId = sysUser.getOrgId();
|
|
String loginName = sysUser.getLoginName();
|
|
String loginName = sysUser.getLoginName();
|
|
String realName = sysUser.getRealName();
|
|
String realName = sysUser.getRealName();
|
|
String password = "123456";
|
|
String password = "123456";
|
|
|
|
+ SysOrg sysOrg = orgMap.get(orgId);
|
|
|
|
+
|
|
|
|
+ // 判断并推送学院机构
|
|
|
|
+ if (cloudMarkingTaskUtils.isCollegeMode(schoolId) && sysOrg.getThirdRelateId() != null){
|
|
|
|
+ sysOrg.setThirdRelateId(dataSyncService.saveSchool(schoolId,sysOrg.getThirdRelateId(),sysOrg.getCode(),sysOrg.getName()));
|
|
|
|
+ orgMap.put(orgId,sysOrg);
|
|
|
|
+ }
|
|
|
|
|
|
// 用户推送相关信息
|
|
// 用户推送相关信息
|
|
boolean enable = sysUser.getEnable();
|
|
boolean enable = sysUser.getEnable();
|
|
@@ -173,6 +199,7 @@ public class CloudUserPushServiceImpl implements CloudUserPushService {
|
|
UserPushParam marker = new UserPushParam();
|
|
UserPushParam marker = new UserPushParam();
|
|
marker.setUserId(userId);
|
|
marker.setUserId(userId);
|
|
marker.setSchoolId(schoolId);
|
|
marker.setSchoolId(schoolId);
|
|
|
|
+ marker.setOrgCode(orgMap.get(orgId).getCode());
|
|
marker.setName(realName);
|
|
marker.setName(realName);
|
|
marker.setPassword(password);
|
|
marker.setPassword(password);
|
|
marker.setRole(SpecialPrivilegeEnum.MARKER);
|
|
marker.setRole(SpecialPrivilegeEnum.MARKER);
|
|
@@ -182,6 +209,7 @@ public class CloudUserPushServiceImpl implements CloudUserPushService {
|
|
UserPushParam leader = new UserPushParam();
|
|
UserPushParam leader = new UserPushParam();
|
|
leader.setUserId(userId);
|
|
leader.setUserId(userId);
|
|
leader.setSchoolId(schoolId);
|
|
leader.setSchoolId(schoolId);
|
|
|
|
+ leader.setOrgCode(orgMap.get(orgId).getCode());
|
|
leader.setName(realName);
|
|
leader.setName(realName);
|
|
leader.setPassword(password);
|
|
leader.setPassword(password);
|
|
leader.setRole(SpecialPrivilegeEnum.SUBJECT_HEADER);
|
|
leader.setRole(SpecialPrivilegeEnum.SUBJECT_HEADER);
|