|
@@ -3,6 +3,7 @@ package com.xjrsoft.module.job;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
+import cn.hutool.db.Entity;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -77,6 +78,7 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -275,34 +277,41 @@ public class JianyuekbScheduleTask {
|
|
|
|
|
|
|
|
Set<String> techerIds = dataUtil.insertCourseTableEntiy(scheduleInfo, classroomMap, courseMap, semesterMap,
|
|
Set<String> techerIds = dataUtil.insertCourseTableEntiy(scheduleInfo, classroomMap, courseMap, semesterMap,
|
|
|
teacherMap, classMap, receiveMsg.get("id").toString(), startDate, endDate);
|
|
teacherMap, classMap, receiveMsg.get("id").toString(), startDate, endDate);
|
|
|
- sendMsg(techerIds, receiveMsg);
|
|
|
|
|
- dataUtil.insertClassTime(scheduleInfo);
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- void sendMsg(Set<String> techerIds, Map<String, Object> receiveMsg) {
|
|
|
|
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
|
|
+ sendMsg(techerIds, receiveMsg);
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
- JianyueData jianyueData = jianyueDataService.getOne(
|
|
|
|
|
- new QueryWrapper<JianyueData>().lambda()
|
|
|
|
|
- .eq(JianyueData::getJianyueId, receiveMsg.get("edu_year_serial_no").toString())
|
|
|
|
|
- );
|
|
|
|
|
- String[] sourceId = jianyueData.getSourceId().split("_");
|
|
|
|
|
- Department department = departmentService.getById(sourceId[0]);
|
|
|
|
|
|
|
+// dataUtil.insertClassTime(scheduleInfo);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- BaseGrade grade = gradeService.getById(sourceId[1]);
|
|
|
|
|
|
|
+ void sendMsg(Set<String> techerIds, Map<String, Object> receiveMsg) {
|
|
|
|
|
+ String tableName = "jianyue_data";
|
|
|
|
|
+ Entity where = Entity.create(tableName);
|
|
|
|
|
+ where.set("jianyue_id", receiveMsg.get("edu_year_serial_no").toString());
|
|
|
|
|
+ Map<String, Object> jianyueData = SqlRunnerAdapter.db().dynamicSelectOne(tableName, where);
|
|
|
|
|
+ String[] sourceId = jianyueData.get("source_id").toString().split("_");
|
|
|
|
|
+
|
|
|
|
|
+ tableName = "xjr_department";
|
|
|
|
|
+ where = Entity.create(tableName);
|
|
|
|
|
+ where.set("id", sourceId[0]);
|
|
|
|
|
+ Map<String, Object> department = SqlRunnerAdapter.db().dynamicSelectOne(tableName, where);
|
|
|
|
|
+
|
|
|
|
|
+ tableName = "base_grade";
|
|
|
|
|
+ where = Entity.create(tableName);
|
|
|
|
|
+ where.set("id", sourceId[1]);
|
|
|
|
|
+ Map<String, Object> grade = SqlRunnerAdapter.db().dynamicSelectOne(tableName, where);
|
|
|
//通知对应教师
|
|
//通知对应教师
|
|
|
- List<User> userList = userService.listByIds(new ArrayList<>(techerIds));
|
|
|
|
|
- List<User> userList1 = userService.list(
|
|
|
|
|
- new MPJLambdaWrapper<User>()
|
|
|
|
|
- .distinct()
|
|
|
|
|
- .select(User::getId)
|
|
|
|
|
- .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
|
|
- .innerJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
|
|
|
|
|
- .innerJoin(Role.class, Role::getId, UserRoleRelation::getRoleId)
|
|
|
|
|
- .eq(Role::getCode, "KEBIAOGX")
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ String sql = "SELECT * FROM xjr_user WHERE id IN (" + techerIds.toString().replace("[", "").replace("]", "") + ")";
|
|
|
|
|
+ List<Map<String, Object>> userList = SqlRunnerAdapter.db().selectList(sql);
|
|
|
|
|
+ sql = "SELECT t1.* FROM xjr_user t1" +
|
|
|
|
|
+ " INNER JOIN xjr_user_role_relation t2 ON t1.id = t2.user_id" +
|
|
|
|
|
+ " INNER JOIN xjr_role t3 ON t2.role_id = t3.id" +
|
|
|
|
|
+ " WHERE t1.delete_mark = 0 AND t3.delete_mark = 0 AND t3.code = 'KEBIAOGX'";
|
|
|
|
|
+ List<Map<String, Object>> userList1 = SqlRunnerAdapter.db().selectList(sql);
|
|
|
userList.addAll(userList1);
|
|
userList.addAll(userList1);
|
|
|
|
|
|
|
|
- for (User user : userList) {
|
|
|
|
|
|
|
+ for (Map<String, Object> user : userList) {
|
|
|
try {
|
|
try {
|
|
|
WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
|
|
WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
|
|
|
weChatSendMessageDto.setTemplateId(noticeTeacherTemplate);
|
|
weChatSendMessageDto.setTemplateId(noticeTeacherTemplate);
|
|
@@ -313,7 +322,7 @@ public class JianyuekbScheduleTask {
|
|
|
paramJson.put("thing8", thing8);
|
|
paramJson.put("thing8", thing8);
|
|
|
|
|
|
|
|
JSONObject thing2 = new JSONObject();
|
|
JSONObject thing2 = new JSONObject();
|
|
|
- thing2.put("value", department.getName() + grade.getName());
|
|
|
|
|
|
|
+ thing2.put("value", department.get("name").toString() + grade.get("name").toString());
|
|
|
paramJson.put("thing2", thing2);
|
|
paramJson.put("thing2", thing2);
|
|
|
|
|
|
|
|
JSONObject thing6 = new JSONObject();
|
|
JSONObject thing6 = new JSONObject();
|
|
@@ -327,7 +336,7 @@ public class JianyuekbScheduleTask {
|
|
|
weChatSendMessageDto.setContent(paramJson);
|
|
weChatSendMessageDto.setContent(paramJson);
|
|
|
weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextId() + "");
|
|
weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextId() + "");
|
|
|
|
|
|
|
|
- String openId = user.getOpenId();
|
|
|
|
|
|
|
+ String openId = user.get("open_id").toString();
|
|
|
if (openId != null && !"".equals(openId)) {
|
|
if (openId != null && !"".equals(openId)) {
|
|
|
weChatSendMessageDto.setUserId(openId);
|
|
weChatSendMessageDto.setUserId(openId);
|
|
|
weChatService.sendTemplateMessage(weChatSendMessageDto);
|
|
weChatService.sendTemplateMessage(weChatSendMessageDto);
|