|
@@ -18,6 +18,7 @@ import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
|
|
|
import com.ym.mec.biz.dal.wrapper.StatGroupWrapper;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
+import com.ym.mec.common.tenant.TenantContextHolder;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.ym.mec.thirdparty.user.realname.RealnameAuthenticationPluginContext;
|
|
|
import com.ym.mec.thirdparty.user.realname.provider.LinkfaceRealnameAuthenticationPlugin;
|
|
@@ -36,8 +37,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.text.MessageFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
-import java.util.concurrent.ExecutorService;
|
|
|
-import java.util.concurrent.Executors;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -141,7 +140,7 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
.map(Integer::parseInt)
|
|
|
.map(organizationMap::get)
|
|
|
.filter(Objects::nonNull)
|
|
|
- .map(o -> o.getName())
|
|
|
+ .map(Organization::getName)
|
|
|
.collect(Collectors.joining(","));
|
|
|
schoolStaff.setOrganName(collect);
|
|
|
}
|
|
@@ -166,18 +165,20 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
}
|
|
|
|
|
|
// 验证码合法性校验
|
|
|
- if (schoolStaff.getCheckSmsCode() == null || schoolStaff.getCheckSmsCode()) {
|
|
|
- if(smsCodeService.verifyValidCode(schoolStaff.getMobile(), schoolStaff.getSmsCode())
|
|
|
- && !debugMode ) {
|
|
|
+ if (Optional.ofNullable(schoolStaff.getCheckSmsCode()).orElse(true)) {
|
|
|
|
|
|
- throw new BizException("验证码错误");
|
|
|
+ if (Optional.of(debugMode).orElse(false)) {
|
|
|
+ // 调试模式,验证码不匹配
|
|
|
+ if (!Objects.equals(schoolStaff.getSmsCode(), SmsCodeService.DEFAULT_SMS_CODE)) {
|
|
|
+ throw new BizException("验证码错误");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 非调试模式,验证码合法性校验
|
|
|
+ if (!smsCodeService.verifyValidCode(schoolStaff.getMobile(), schoolStaff.getSmsCode())) {
|
|
|
+ throw new BizException("验证码错误");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- if(smsCodeService.verifyValidCode(schoolStaff.getMobile(), schoolStaff.getSmsCode())
|
|
|
- && !debugMode ) {
|
|
|
-
|
|
|
- throw new BizException("验证码错误");
|
|
|
- }
|
|
|
|
|
|
// 合作单位编号
|
|
|
CooperationOrgan cooperation = cooperationOrganService.get(schoolStaff.getSchoolId().intValue());
|
|
@@ -242,16 +243,21 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
|
|
|
// 自动创建学校管理IM群 自动添加员工到学校乐团群
|
|
|
try {
|
|
|
+ // 重置当前合作单位机构ID
|
|
|
+ TenantContextHolder.setTenantId(cooperation.getTenantId());
|
|
|
+
|
|
|
+ // 创建学校im群
|
|
|
imGroupService.addSchoolStaffGroup(schoolStaff.getSchoolId(), user.getId(),user.getUsername(),user.getAvatar(),schoolStaff.getUserType());
|
|
|
} catch (Exception e) {
|
|
|
log.error("加入群组失败 ",e);
|
|
|
throw new BizException("加入群组失败");
|
|
|
}
|
|
|
|
|
|
- CompletableFuture.runAsync( () -> {
|
|
|
+ // 创建学校员工IM好友
|
|
|
+ imUserFriendService.refreshSchoolStaffFriend(schoolStaff.getSchoolId().intValue());
|
|
|
|
|
|
- // 创建学校im好友
|
|
|
- imUserFriendService.refreshSchoolStaffFriend(schoolStaff.getSchoolId().intValue());
|
|
|
+ // 异步添加乐团领队到其他乐团群
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
|
|
|
if (schoolStaff.getUserType().equals(ESchoolStaffType.ORCHESTRA_LEADER)) {
|
|
|
addMusicGroup(schoolStaff, user);
|
|
@@ -262,9 +268,6 @@ 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,
|
|
@@ -299,6 +302,7 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_SCHOOL_ACCOUNT_REGISTER,
|
|
|
selfMap, null, 0, null,
|
|
|
"SCHOOL",cooperation.getName(),schoolStaff.getUserType().getDescribe(),url);
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -552,7 +556,7 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
|
|
|
return SchoolStaffWrapper.SchoolStaffStat.builder()
|
|
|
.schoolmasterNums(collect.getOrDefault(ESchoolStaffType.SCHOOLMASTER.getCode(), 0))
|
|
|
.schoolLeaderNums(collect.getOrDefault(ESchoolStaffType.SCHOOL_LEADER.getCode(), 0))
|
|
|
- .orchestraNums(collect.getOrDefault(ESchoolStaffType.ORCHESTRA_LEADER.getCode(), 0))
|
|
|
+ .orchestraLeaderNums(collect.getOrDefault(ESchoolStaffType.ORCHESTRA_LEADER.getCode(), 0))
|
|
|
.teacherNums(collect.getOrDefault(ESchoolStaffType.TEACHER.getCode(), 0))
|
|
|
.orchestraNums(0)
|
|
|
.studentNums(0)
|