|
@@ -1,20 +1,16 @@
|
|
|
package com.qmth.distributed.print.business.templete.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.qmth.distributed.print.business.entity.ExamPrintPlan;
|
|
|
import com.qmth.distributed.print.business.entity.TSyncExamStudentScore;
|
|
|
import com.qmth.distributed.print.business.service.ExamPrintPlanService;
|
|
|
import com.qmth.distributed.print.business.service.TSyncExamStudentScoreService;
|
|
|
import com.qmth.distributed.print.business.templete.service.PushLogicService;
|
|
|
-import com.qmth.teachcloud.common.base.BaseEntity;
|
|
|
-import com.qmth.teachcloud.common.bean.params.UserPushParam;
|
|
|
+import com.qmth.teachcloud.common.bean.result.SyncCountResult;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
import com.qmth.teachcloud.common.entity.BasicClazz;
|
|
|
-import com.qmth.teachcloud.common.entity.PushUserTrack;
|
|
|
import com.qmth.teachcloud.common.entity.SysOrg;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
-import com.qmth.teachcloud.common.enums.userPush.SyncStatusEnum;
|
|
|
import com.qmth.teachcloud.common.service.*;
|
|
|
import com.qmth.teachcloud.common.sync.StmmsUtils;
|
|
|
import org.slf4j.Logger;
|
|
@@ -24,7 +20,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description: 同步推送处理逻辑接口实现类
|
|
@@ -64,27 +59,9 @@ public class PushLogicServiceImpl implements PushLogicService {
|
|
|
int correct = 0;
|
|
|
int count = 0;
|
|
|
SysUser sysUser = (SysUser) map.get(SystemConstant.SYS_USER);
|
|
|
- Long schoolId = sysUser.getSchoolId();
|
|
|
- // 需要同步的用户
|
|
|
- List<SysUser> sysUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda()
|
|
|
- .eq(SysUser::getSchoolId, schoolId)
|
|
|
- .eq(SysUser::getSyncStatus, SyncStatusEnum.NEED_PUSH_AGAIN));
|
|
|
- count = sysUserList.size();
|
|
|
- for (SysUser user : sysUserList) {
|
|
|
- Set<Long> roleIdSet = sysUserRoleService.listRoleByUserId(user.getId()).stream().map(BaseEntity::getId).collect(Collectors.toSet());
|
|
|
- List<PushUserTrack> pushUserTrackList = pushUserTrackService.createPushTrackUser(null, roleIdSet, user.getId(), user.getEnable(), sysUser.getId());
|
|
|
- List<UserPushParam> userPushParamList = pushUserTrackService.analyzeUserPushSpecialPrivilege(pushUserTrackList);
|
|
|
-
|
|
|
- boolean syncResult = sysUserService.userPushService(userPushParamList, sysUser.getId());
|
|
|
- if (syncResult) {
|
|
|
- correct++;
|
|
|
- }
|
|
|
- UpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().set(SysUser::getSyncStatus, null).eq(SysUser::getId, user.getId());
|
|
|
- sysUserService.update(updateWrapper);
|
|
|
- }
|
|
|
- map.put("correct", correct);
|
|
|
- map.put("count", count);
|
|
|
+ SyncCountResult syncCountResult = sysUserService.needPushAgainOperate(sysUser);
|
|
|
+ map.put("correct", syncCountResult.getCorrectCount());
|
|
|
+ map.put("count", syncCountResult.getTotalCount());
|
|
|
return map;
|
|
|
}
|
|
|
|