guq 7 лет назад
Родитель
Сommit
4a2c771633

+ 19 - 17
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/NoticeServiceImpl.java

@@ -142,24 +142,26 @@ public class NoticeServiceImpl implements NoticeService{
         noticers.forEach(noticer -> {
             MessageInfoDTO msg = new MessageInfoDTO();
             String endUrl = null;
-            if (noticer.getType() == 1) {
-                endUrl = "/parent/" + id + "?stuId=" + noticer.getPersonId();
-            }else {
-                endUrl = "/teacher/" + id + "?teacherId=" + noticer.getPersonId();
+            if (!StringUtils.isEmpty(noticer.getType()) || !StringUtils.isEmpty(noticer.getPersonId())) {
+                if (noticer.getType().split(",")[0].equals("1")) {
+                    endUrl = "/parent/" + id + "?stuId=" + noticer.getPersonId().split(",")[0];
+                } else {
+                    endUrl = "/teacher/" + id + "?teacherId=" + noticer.getPersonId().split(",")[0];
+                }
+                String url = baseWechatUrl + "/notifyDetail" + endUrl;
+                msg.setUrl(url);
+                msg.setTitle(data.getNotify_title());
+                msg.setKeyword1(school.getSchool_name());
+                msg.setKeyword2("校办公室");
+                msg.setKeyword3(DateUtils.format());
+                msg.setKeyword4(data.getNotify_details());
+                msg.setRemark(data.getNotify_remarks());
+                msg.setTemplateId(template.getSt_templateid());
+                msg.setTouser(noticer.getOpenid());
+                msg.setAppId(school.getSchool_appid());
+                msg.setSecret(school.getSchool_secret());
+                msgs.add(msg);
             }
-            String url = baseWechatUrl + "/notifyDetail" + endUrl;
-            msg.setUrl(url);
-            msg.setTitle(data.getNotify_title());
-            msg.setKeyword1(school.getSchool_name());
-            msg.setKeyword2("校办公室");
-            msg.setKeyword3(DateUtils.format());
-            msg.setKeyword4(data.getNotify_details());
-            msg.setRemark(data.getNotify_remarks());
-            msg.setTemplateId(template.getSt_templateid());
-            msg.setTouser(noticer.getOpenid());
-            msg.setAppId(school.getSchool_appid());
-            msg.setSecret(school.getSchool_secret());
-            msgs.add(msg);
         });
         if (msgs.size() > 0) {
             TransferDTO transferDTO = new TransferDTO();

+ 2 - 2
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SchoolNoticer.java

@@ -22,9 +22,9 @@ public class SchoolNoticer implements Serializable{
     /**
      * 推送人ID
      */
-    private Long personId;
+    private String personId;
     /**
      * 类型   1:家长   0:教师
      */
-    private int type;
+    private String type;
 }

+ 3 - 3
applications/school/school-server/src/main/resources/mapper/NotifyMapper.xml

@@ -227,8 +227,8 @@
   </select>
 
     <select id="selectNoticer" parameterType="long" resultType="com.usoftchina.smartschool.school.po.SchoolNoticer">
-        select openid,parents_name noticer,parentstu.stu_id personId,'1' type from sys_parents parent left join sys_parents_stu parentstu on parent.parent_id = parentstu.parent_id where school_id=#{schoolId} and ifnull(openid,'') != '' and parents_status=1
-        union all
-        select openid,teacher_name noticer,teacher_id personId, '0' type from sys_teacher where school_id=#{schoolId} and ifnull(openid,'') != '' and teacher_status=1
+        select openid,noticer,GROUP_CONCAT(personId) personId,GROUP_CONCAT(type) type from (
+        select openid,parents_name noticer,parentstu.stu_id personId,'1' type from sys_parents parent left join sys_parents_stu parentstu on parent.parent_id = parentstu.parent_id where school_id=#{schoolId} and ifnull(openid,'') != '' and parents_status=1  union
+        select openid,teacher_name noticer,teacher_id personId, '0' type from sys_teacher where school_id=#{schoolId} and ifnull(openid,'') != '' and teacher_status=1 ) tab_  GROUP BY openid,noticer
     </select>
 </mapper>