Jelajahi Sumber

微信消息推送调整

dzx 9 bulan lalu
induk
melakukan
ba560b5dc3

+ 10 - 5
src/main/java/com/xjrsoft/module/job/AttenDanceWarnNoticeTask.java

@@ -23,6 +23,7 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -93,7 +94,10 @@ public class AttenDanceWarnNoticeTask {
             log.info("未能查询出规则,不进行推送");
             return;
         }
-        List<WechatMessageLog> logList = new ArrayList<>();
+        String wechatTemplate = weChatUtil.getAttenDanceWarnTemplate();
+        WechatMessageLog messageLog = new WechatMessageLog();
+        messageLog.setTemplateId(wechatTemplate);
+//        messageLog.setSendTime(recentlyTime);
 
         List<XjrUser> userList = getUserList(allTodyRule.keySet());
         for (XjrUser xjrUser : userList) {
@@ -105,7 +109,7 @@ public class AttenDanceWarnNoticeTask {
 
             WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
             weChatSendMessageDto.setUserId(xjrUser.getOpenId());
-            weChatSendMessageDto.setTemplateId(weChatUtil.getAttenDanceWarnTemplate());
+            weChatSendMessageDto.setTemplateId(wechatTemplate);
             weChatSendMessageDto.setMsgId(xjrUser.getId().toString());
             JSONObject paramJson = new JSONObject();
 
@@ -130,9 +134,10 @@ public class AttenDanceWarnNoticeTask {
 
         }
 
-        if(!logList.isEmpty()){
-            wechatMessageLogService.saveBatch(logList);
-        }
+        messageLog.setCreateDate(new Date());
+        messageLog.setContent("消息推送人数:" + userList.size());
+        wechatMessageLogService.save(messageLog);
+
     }
 
     /**

+ 5 - 1
src/main/java/com/xjrsoft/module/job/AttendanceMessageTask.java

@@ -41,6 +41,7 @@ import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -143,7 +144,7 @@ public class AttendanceMessageTask {
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         String format = recentlyTime.format(formatter);
 
-
+        int userCount = 0;
 
         for (AttendanceMessageSet messageSet : list) {
             if(!messageSet.getTimePeriod().contains(timePeriod + "")){
@@ -163,6 +164,7 @@ public class AttendanceMessageTask {
             if(userList.isEmpty()){
                 continue;
             }
+            userCount += userList.size();
             if(messageSet.getRoleType() != null && messageSet.getRoleType() == 2){
                 //教师总人数
                 long teacherCout = userService.count(
@@ -255,6 +257,8 @@ public class AttendanceMessageTask {
                 }
             }
         }
+        messageLog.setCreateDate(new Date());
+        messageLog.setContent("消息推送人数:" + userCount);
         wechatMessageLogService.save(messageLog);
     }
 

+ 1 - 1
src/main/resources/application-dev.yml

@@ -137,7 +137,7 @@ xjrsoft:
   weChatMessageTemplate:
     commonTemplate: qmpXORPM1Cocqn503Qa4OkNNQ0uxlj2-ed9m6uWO-v4
     assessmentTemplate: ehYfXni7exZUmt6dJX4Ukbm9ETarFfKLfXVYwNnjKMc
-    attendanceMessageTemplate: uPPJkWOSronnB_GJolcnatrQzGjJREIKL7JZzOieoew
+    attendanceMessageTemplate: uPPJkWOSronnB_GJolcnajRSdnIf8GCoCk4c0v1szPA
     outInTemplate: ERkMebHjsziZO6WBrlzsbENiEuRR4vrlhJw5LR4aDr8
     attenDanceWarnTemplate: Fg4AWVQRGernl0PiJQ8gRgCUFHEGZuizlClQNuVhqu4
   dingtalk:

+ 6 - 19
src/test/java/com/xjrsoft/module/job/AttendanceMessageTaskTest.java

@@ -172,12 +172,6 @@ class AttendanceMessageTaskTest {
                                 .eq(TeacherOutInRecord::getStatus, 1)
                 );
 
-                //计算出勤率
-                BigDecimal divide = BigDecimal.ZERO;
-                if(teacherCout != 0){
-                    divide = BigDecimal.valueOf(outInRecords).divide(BigDecimal.valueOf(teacherCout), 4, RoundingMode.HALF_UP);
-                }
-
                 WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
                 weChatSendMessageDto.setTemplateId(wechatTemplate);
                 JSONObject paramJson = new JSONObject();
@@ -198,9 +192,9 @@ class AttendanceMessageTaskTest {
                 character_string18.put("value", teacherCout - outInRecords);
                 paramJson.put("character_string18", character_string18);
 
-                JSONObject const3 = new JSONObject();
-                const3.put("value", "出勤率  99%");
-                paramJson.put("const3", const3);
+                JSONObject character_string16 = new JSONObject();
+                character_string16.put("value", teacherCout);
+                paramJson.put("character_string16", character_string16);
 
                 weChatSendMessageDto.setContent(paramJson);
                 weChatSendMessageDto.setUrl(StrUtil.format("{}pages/attendance/teacher/index", commonPropertiesConfig.getDomainApp()));
@@ -223,13 +217,6 @@ class AttendanceMessageTaskTest {
                                 .eq(StudentOutInRecord::getStatus, 1)
                 );
 
-                //计算出勤率
-                BigDecimal divide = BigDecimal.ZERO;
-                if(teacherCout != 0){
-                    divide = BigDecimal.valueOf(outInRecords).divide(BigDecimal.valueOf(teacherCout), 4, RoundingMode.HALF_UP);
-                }
-
-
                 WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
                 weChatSendMessageDto.setTemplateId(weChatUtil.getAttendanceMessageTemplate());
                 JSONObject paramJson = new JSONObject();
@@ -250,9 +237,9 @@ class AttendanceMessageTaskTest {
                 character_string18.put("value", teacherCout - outInRecords);
                 paramJson.put("character_string18", character_string18);
 
-                JSONObject const3 = new JSONObject();
-                const3.put("value", "出勤率  99%");
-                paramJson.put("const3", const3);
+                JSONObject character_string16 = new JSONObject();
+                character_string16.put("value", teacherCout);
+                paramJson.put("const3", character_string16);
 
                 weChatSendMessageDto.setContent(paramJson);
                 weChatSendMessageDto.setUrl(StrUtil.format("{}pages/attendance/class/index", commonPropertiesConfig.getDomainApp()));