Browse Source

班级动态发送范围调整

dzx 7 months ago
parent
commit
a382efb5da

+ 81 - 79
src/main/java/com/xjrsoft/module/base/service/impl/BaseClassDynamicsServiceImpl.java

@@ -67,90 +67,92 @@ public class BaseClassDynamicsServiceImpl extends MPJBaseServiceImpl<BaseClassDy
 
         List<Long> classIds = new ArrayList<>();
         classIds.add(dto.getClassId());
-        List<BaseStudentUserPageVo> studentList = studentService.getStudentList(new BaseStudentUserPageDto() {{
-            setClassIds(classIds);
-        }});
-        for (BaseStudentUserPageVo studentUserPageVo : studentList) {
-            BaseClassDynamicsRelation dynamicsRelation = new BaseClassDynamicsRelation() {{
-                setBaseClassDynamicsId(baseClassDynamics.getId());
-                setUserId(Long.parseLong(studentUserPageVo.getId()));
-                setReadMark(0);
-            }};
-            dynamicsRelationMapper.insert(dynamicsRelation);
-
-            try {
-                WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
-                weChatSendMessageDto.setUserId(studentUserPageVo.getOpenId());
-                weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
-                weChatSendMessageDto.setUrl(StrUtil.format("{}pages/student/trends/detail?id={}", commonPropertiesConfig.getDomainApp(), baseClassDynamics.getId()));
-                weChatSendMessageDto.setMsgId(dynamicsRelation.getId().toString());
-                JSONObject data = new JSONObject();
-
-                JSONObject data1 = new JSONObject();
-                data1.put("value", baseClassDynamics.getTitle());
-                data.put("thing23", data1);
-
-                JSONObject data2 = new JSONObject();
-                data2.put("value", (aClass.getName() == null) ? "重庆铜梁职业教育中心" : aClass.getName());
-                data.put("thing29", data2);
-
-                JSONObject data3 = new JSONObject();
-                data3.put("value", LocalDateTimeUtil.format(now, "yyyy-MM-dd HH:mm:ss"));
-                data.put("time17", data3);
-                weChatSendMessageDto.setContent(data);
-                weChatService.sendTemplateMessage(weChatSendMessageDto);
-            }catch (Exception e){
-                Log.error(e.getMessage());
+        if(baseClassDynamics.getRoleType().contains("3")){
+            List<BaseStudentUserPageVo> studentList = studentService.getStudentList(new BaseStudentUserPageDto() {{
+                setClassIds(classIds);
+            }});
+            for (BaseStudentUserPageVo studentUserPageVo : studentList) {
+                BaseClassDynamicsRelation dynamicsRelation = new BaseClassDynamicsRelation() {{
+                    setBaseClassDynamicsId(baseClassDynamics.getId());
+                    setUserId(Long.parseLong(studentUserPageVo.getId()));
+                    setReadMark(0);
+                }};
+                dynamicsRelationMapper.insert(dynamicsRelation);
+
+                try {
+                    WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+                    weChatSendMessageDto.setUserId(studentUserPageVo.getOpenId());
+                    weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
+                    weChatSendMessageDto.setUrl(StrUtil.format("{}pages/student/trends/detail?id={}", commonPropertiesConfig.getDomainApp(), baseClassDynamics.getId()));
+                    weChatSendMessageDto.setMsgId(dynamicsRelation.getId().toString());
+                    JSONObject data = new JSONObject();
+
+                    JSONObject data1 = new JSONObject();
+                    data1.put("value", baseClassDynamics.getTitle());
+                    data.put("thing23", data1);
+
+                    JSONObject data2 = new JSONObject();
+                    data2.put("value", (aClass.getName() == null) ? "重庆铜梁职业教育中心" : aClass.getName());
+                    data.put("thing29", data2);
+
+                    JSONObject data3 = new JSONObject();
+                    data3.put("value", LocalDateTimeUtil.format(now, "yyyy-MM-dd HH:mm:ss"));
+                    data.put("time17", data3);
+                    weChatSendMessageDto.setContent(data);
+                    weChatService.sendTemplateMessage(weChatSendMessageDto);
+                }catch (Exception e){
+                    Log.error(e.getMessage());
+                }
             }
         }
 
-        List<User> list = userService.list(
-                new MPJLambdaWrapper<User>()
-                        .select(User::getId)
-                        .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
-                        .innerJoin(UserStudent.class, UserStudent::getUserId, User::getId)
-                        .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, UserStudent::getStudentId)
-                        .innerJoin(WorkflowFormRelation.class, WorkflowFormRelation::getFormKeyValue, UserStudent::getId)
-                        .eq(BaseStudentSchoolRoll::getClassId, dto.getClassId())
-                        .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
-                        .isNotNull(User::getOpenId)
-        );
-
-        for (User user : list) {
-            BaseClassDynamicsRelation dynamicsRelation = new BaseClassDynamicsRelation() {{
-                setBaseClassDynamicsId(baseClassDynamics.getId());
-                setUserId(user.getId());
-                setReadMark(0);
-            }};
-            dynamicsRelationMapper.insert(dynamicsRelation);
-
-            try {
-                WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
-                weChatSendMessageDto.setUserId(user.getOpenId());
-                weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
-                weChatSendMessageDto.setUrl(StrUtil.format("{}pages/student/trends/detail?id={}", commonPropertiesConfig.getDomainApp(), baseClassDynamics.getId()));
-                weChatSendMessageDto.setMsgId(dynamicsRelation.getId().toString());
-                JSONObject data = new JSONObject();
-
-                JSONObject data1 = new JSONObject();
-                data1.put("value", baseClassDynamics.getTitle());
-                data.put("thing23", data1);
-
-                JSONObject data2 = new JSONObject();
-                data2.put("value", (aClass.getName() == null) ? "重庆铜梁职业教育中心" : aClass.getName());
-                data.put("thing29", data2);
-
-                JSONObject data3 = new JSONObject();
-                data3.put("value", LocalDateTimeUtil.format(now, "yyyy-MM-dd HH:mm:ss"));
-                data.put("time17", data3);
-                weChatSendMessageDto.setContent(data);
-                weChatService.sendTemplateMessage(weChatSendMessageDto);
-            }catch (Exception e){
-                Log.error(e.getMessage());
+        if(baseClassDynamics.getRoleType().contains("4")){
+            List<User> list = userService.list(
+                    new MPJLambdaWrapper<User>()
+                            .select(User::getId)
+                            .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
+                            .innerJoin(UserStudent.class, UserStudent::getUserId, User::getId)
+                            .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, UserStudent::getStudentId)
+                            .innerJoin(WorkflowFormRelation.class, WorkflowFormRelation::getFormKeyValue, UserStudent::getId)
+                            .eq(BaseStudentSchoolRoll::getClassId, dto.getClassId())
+                            .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
+                            .isNotNull(User::getOpenId)
+            );
+
+            for (User user : list) {
+                BaseClassDynamicsRelation dynamicsRelation = new BaseClassDynamicsRelation() {{
+                    setBaseClassDynamicsId(baseClassDynamics.getId());
+                    setUserId(user.getId());
+                    setReadMark(0);
+                }};
+                dynamicsRelationMapper.insert(dynamicsRelation);
+
+                try {
+                    WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+                    weChatSendMessageDto.setUserId(user.getOpenId());
+                    weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
+                    weChatSendMessageDto.setUrl(StrUtil.format("{}pages/student/trends/detail?id={}", commonPropertiesConfig.getDomainApp(), baseClassDynamics.getId()));
+                    weChatSendMessageDto.setMsgId(dynamicsRelation.getId().toString());
+                    JSONObject data = new JSONObject();
+
+                    JSONObject data1 = new JSONObject();
+                    data1.put("value", baseClassDynamics.getTitle());
+                    data.put("thing23", data1);
+
+                    JSONObject data2 = new JSONObject();
+                    data2.put("value", (aClass.getName() == null) ? "重庆铜梁职业教育中心" : aClass.getName());
+                    data.put("thing29", data2);
+
+                    JSONObject data3 = new JSONObject();
+                    data3.put("value", LocalDateTimeUtil.format(now, "yyyy-MM-dd HH:mm:ss"));
+                    data.put("time17", data3);
+                    weChatSendMessageDto.setContent(data);
+                    weChatService.sendTemplateMessage(weChatSendMessageDto);
+                }catch (Exception e){
+                    Log.error(e.getMessage());
+                }
             }
         }
-
-
         return true;
     }