|
@@ -2,23 +2,30 @@ package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.microsvc.toolkit.common.response.paging.QueryInfo;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.auth.api.enums.SysUserType;
|
|
|
import com.ym.mec.auth.api.enums.YesOrNoEnum;
|
|
|
+import com.ym.mec.biz.dal.dao.SysMessageConfigDao;
|
|
|
import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
import com.ym.mec.biz.dal.entity.CooperationOrgan;
|
|
|
import com.ym.mec.biz.dal.entity.SchoolStaff;
|
|
|
import com.ym.mec.biz.dal.entity.SysConfig;
|
|
|
+import com.ym.mec.biz.dal.entity.SysMessageConfig;
|
|
|
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.school.ESchoolStaffType;
|
|
|
import com.ym.mec.biz.dal.mapper.SchoolStaffMapper;
|
|
|
import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
|
|
|
import com.ym.mec.biz.service.CooperationOrganService;
|
|
|
import com.ym.mec.biz.service.SchoolStaffService;
|
|
|
import com.ym.mec.biz.service.SysConfigService;
|
|
|
+import com.ym.mec.biz.service.SysMessageService;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
+import com.ym.mec.util.string.MessageFormatter;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -31,12 +38,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.text.MessageFormat;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Optional;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -57,12 +59,21 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
@Autowired
|
|
|
private SysConfigService sysConfigService;
|
|
|
|
|
|
- /**
|
|
|
+ @Autowired
|
|
|
+ private SysMessageService sysMessageService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SchoolStaffService schoolStaffService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysMessageConfigDao sysMessageConfigDao;
|
|
|
+
|
|
|
+ /**
|
|
|
* 查询详情
|
|
|
* @param id 详情ID
|
|
|
* @return SchoolStaff
|
|
|
*/
|
|
|
- @Override
|
|
|
+ @Override
|
|
|
public SchoolStaff detail(Long id) {
|
|
|
|
|
|
return baseMapper.selectById(id);
|
|
@@ -79,7 +90,7 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
|
|
|
return page.setRecords(baseMapper.selectPage(page, query));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 添加
|
|
|
* @param schoolStaff SchoolStaffWrapper.SchoolStaff
|
|
@@ -159,6 +170,44 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
// 删除缓存锁
|
|
|
redissonClient.getBucket(submitLockKey).delete();
|
|
|
|
|
|
+ // 消息推送
|
|
|
+
|
|
|
+ // 推送给自己
|
|
|
+
|
|
|
+ Map<Integer, String> userMap = new HashMap<>();
|
|
|
+ userMap.put(user.getId(), user.getId().toString());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.JIGUANG_SCHOOL_ACCOUNT_REGISTER_NOTICE,
|
|
|
+ userMap, null, 0, null,
|
|
|
+ "SCHOOL",cooperation.getName(),schoolStaff.getUserType().getDescribe());
|
|
|
+
|
|
|
+
|
|
|
+ // 推送给学校自己外的其他用户
|
|
|
+ IPage<SchoolStaffWrapper.SchoolStaff> page = schoolStaffService.selectPage(new Page<>(1, -1),
|
|
|
+ SchoolStaffWrapper.SchoolStaffQuery.builder().schoolId(schoolStaff.getSchoolId()).build());
|
|
|
+ List<SchoolStaffWrapper.SchoolStaff> records = page.getRecords();
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+
|
|
|
+ Map<Integer, String> usersMap = new HashMap<>();
|
|
|
+ records.stream()
|
|
|
+ .filter( o -> !o.getUserId().equals(schoolStaff.getUserId()))
|
|
|
+ .forEach(o -> usersMap.put(o.getUserId().intValue(), o.getUserId().toString()));
|
|
|
+
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.JIGUANG_SCHOOL_ACCOUNT_REGISTER,
|
|
|
+ usersMap, null, 0, null,
|
|
|
+ "SCHOOL",schoolStaff.getUsername(),cooperation.getName(),schoolStaff.getUserType().getDescribe());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 推送给自己的短信
|
|
|
+ Map<Integer, String> selfMap = new HashMap<>();
|
|
|
+ selfMap.put(user.getId(), user.getPhone());
|
|
|
+
|
|
|
+
|
|
|
+ SysMessageConfig sysMessageConfig = sysMessageConfigDao.queryByType(MessageTypeEnum.JIGUANG_TEACHER_SIGN_IN_EXCEPTION.getCode());
|
|
|
+ String url = sysMessageConfig.getUrl();
|
|
|
+
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_SCHOOL_ACCOUNT_REGISTER,
|
|
|
+ selfMap, null, 0, null,
|
|
|
+ "SCHOOL",cooperation.getName(),schoolStaff.getUserType().getDescribe(),url);
|
|
|
return true;
|
|
|
}
|
|
|
|