Selaa lähdekoodia

Merge remote-tracking branch 'origin/dev' into dev

fanxp 2 vuotta sitten
vanhempi
commit
bf1d0264a5

+ 59 - 56
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -258,66 +258,69 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
 
     @Override
     public boolean SendMessage(Long id) {
-        News news = newsMapper.selectById(id);
-        if (news.getSendRange() == 1) {
-            List<User> userList = userMapper.selectList(Wrappers.<User>query().lambda().isNotNull(User::getOpenId).ne(User::getOpenId,""));
-            if(userList.size()>0) {
-                for (User user : userList) {
-                    WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
-                    weChatSendMessageDto.setUserId(user.getOpenId());
-                    weChatSendMessageDto.setTemplateId("sHsmz7LRj7HLd7GSTS3r2uKMhE2f1iDAW15RqSK_6KM");
-                    weChatSendMessageDto.setUrl("https://zhxy.cqtlzjzx.com/app/#/pages/message/notice/detail?id="+id);
-                    weChatSendMessageDto.setMsgId(id.toString());
-                    JSONObject data = new JSONObject();
-
-                    JSONObject data1 = new JSONObject();
-                    data1.put("value", news.getFullHead());
-                    data.put("thing2", data1);
-
-                    JSONObject data2 = new JSONObject();
-                    data2.put("value", news.getAuthorName());
-                    data.put("phrase5", data2);
-
-                    JSONObject data3 = new JSONObject();
-                    data3.put("value", LocalDateTimeUtil.format(news.getReleaseTime(),"yyyy-MM-dd HH:mm:ss") );
-                    data.put("time3", data3);
-                    weChatSendMessageDto.setContent(data);
-                    weChatService.sendTemplateMessage(weChatSendMessageDto);
+        try {
+            News news = newsMapper.selectById(id);
+            if (news.getSendRange() == 1) {
+                List<User> userList = userMapper.selectList(Wrappers.<User>query().lambda().isNotNull(User::getOpenId).ne(User::getOpenId, ""));
+                if (userList.size() > 0) {
+                    for (User user : userList) {
+                        WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+                        weChatSendMessageDto.setUserId(user.getOpenId());
+                        weChatSendMessageDto.setTemplateId("sHsmz7LRj7HLd7GSTS3r2uKMhE2f1iDAW15RqSK_6KM");
+                        weChatSendMessageDto.setUrl("https://zhxy.cqtlzjzx.com/app/#/pages/message/notice/detail?id=" + id);
+                        weChatSendMessageDto.setMsgId(id.toString());
+                        JSONObject data = new JSONObject();
+
+                        JSONObject data1 = new JSONObject();
+                        data1.put("value", news.getFullHead());
+                        data.put("thing2", data1);
+
+                        JSONObject data2 = new JSONObject();
+                        data2.put("value", news.getAuthorName());
+                        data.put("phrase5", data2);
+
+                        JSONObject data3 = new JSONObject();
+                        data3.put("value", LocalDateTimeUtil.format(news.getReleaseTime(), "yyyy-MM-dd HH:mm:ss"));
+                        data.put("time3", data3);
+                        weChatSendMessageDto.setContent(data);
+                        weChatService.sendTemplateMessage(weChatSendMessageDto);
+                    }
                 }
-            }
-        } else {
-            List<NewsRelationVo> newsRelationVoList = newsRelationMapper.selectJoinList(NewsRelationVo.class,
-                    new MPJLambdaWrapper<NewsRelation>().distinct()
-                            .eq(NewsRelation::getNewsId, id)
-                            .select(NewsRelation.class, x -> VoToColumnUtil.fieldsToColumns(NewsRelationVo.class).contains(x.getProperty()))
-                            .innerJoin(User.class, onWrapper -> onWrapper.eq(NewsRelation::getUserId, User::getId).isNotNull(User::getOpenId).ne(User::getOpenId,""))
-                            .selectAs(User::getOpenId, NewsRelationVo::getUserName)
-            );
-            if (newsRelationVoList.size() > 0) {
-                for (NewsRelationVo newsRelationVo : newsRelationVoList) {
-                    WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
-                    weChatSendMessageDto.setUserId(newsRelationVo.getUserName());
-                    weChatSendMessageDto.setTemplateId("sHsmz7LRj7HLd7GSTS3r2uKMhE2f1iDAW15RqSK_6KM");
-                    weChatSendMessageDto.setUrl("https://zhxy.cqtlzjzx.com/app/#/pages/message/notice/detail?id="+id);
-                    weChatSendMessageDto.setMsgId(id.toString());
-                    JSONObject data = new JSONObject();
-
-                    JSONObject data1 = new JSONObject();
-                    data1.put("value", news.getFullHead());
-                    data.put("thing2", data1);
-
-                    JSONObject data2 = new JSONObject();
-                    data2.put("value", news.getAuthorName());
-                    data.put("phrase5", data2);
-
-                    JSONObject data3 = new JSONObject();
-                    data3.put("value",  LocalDateTimeUtil.format(news.getReleaseTime(),"yyyy-MM-dd HH:mm:ss") );
-                    data.put("time3", data3);
-                    weChatSendMessageDto.setContent(data);
-                    weChatService.sendTemplateMessage(weChatSendMessageDto);
+            } else {
+                List<NewsRelationVo> newsRelationVoList = newsRelationMapper.selectJoinList(NewsRelationVo.class,
+                        new MPJLambdaWrapper<NewsRelation>().distinct()
+                                .eq(NewsRelation::getNewsId, id)
+                                .select(NewsRelation.class, x -> VoToColumnUtil.fieldsToColumns(NewsRelationVo.class).contains(x.getProperty()))
+                                .innerJoin(User.class, onWrapper -> onWrapper.eq(NewsRelation::getUserId, User::getId).isNotNull(User::getOpenId).ne(User::getOpenId, ""))
+                                .selectAs(User::getOpenId, NewsRelationVo::getUserName)
+                );
+                if (newsRelationVoList.size() > 0) {
+                    for (NewsRelationVo newsRelationVo : newsRelationVoList) {
+                        WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+                        weChatSendMessageDto.setUserId(newsRelationVo.getUserName());
+                        weChatSendMessageDto.setTemplateId("sHsmz7LRj7HLd7GSTS3r2uKMhE2f1iDAW15RqSK_6KM");
+                        weChatSendMessageDto.setUrl("https://zhxy.cqtlzjzx.com/app/#/pages/message/notice/detail?id=" + id);
+                        weChatSendMessageDto.setMsgId(id.toString());
+                        JSONObject data = new JSONObject();
+
+                        JSONObject data1 = new JSONObject();
+                        data1.put("value", news.getFullHead());
+                        data.put("thing2", data1);
+
+                        JSONObject data2 = new JSONObject();
+                        data2.put("value", news.getAuthorName());
+                        data.put("phrase5", data2);
+
+                        JSONObject data3 = new JSONObject();
+                        data3.put("value", LocalDateTimeUtil.format(news.getReleaseTime(), "yyyy-MM-dd HH:mm:ss"));
+                        data.put("time3", data3);
+                        weChatSendMessageDto.setContent(data);
+                        weChatService.sendTemplateMessage(weChatSendMessageDto);
+                    }
                 }
             }
         }
+        catch(Exception ex) {}
 
         return true;
     }

+ 16 - 6
src/main/java/com/xjrsoft/module/student/controller/BaseStudentCadreController.java

@@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -130,9 +131,8 @@ public class BaseStudentCadreController {
             PageOutput<BaseStudentCadrePageVo> result = ConventPage.getPageOutputNull(BaseStudentCadrePageVo.class);
             return RT.ok(result);
         }
-        IPage<BaseStudentCadrePageVo> page = baseStudentCadreService.selectJoinListPage(ConventPage.getPage(dto), BaseStudentCadrePageVo.class,
-                MPJWrappers.<BaseStudentCadre>lambdaJoin()
-                .like(StrUtil.isNotBlank(dto.getUserName()), XjrUser::getName, dto.getUserName())
+        MPJLambdaWrapper<BaseStudentCadre> wrapper = new MPJLambdaWrapper<>();
+        wrapper.like(StrUtil.isNotBlank(dto.getUserName()), XjrUser::getName, dto.getUserName())
                 .eq(ObjectUtil.isNotEmpty(dto.getClassId()), BaseStudentCadre::getClassId, dto.getClassId())
                 .eq(ObjectUtil.isNotEmpty(dto.getPostId()), BaseStudentCadre::getPostId, dto.getPostId())
                 .eq(ObjectUtil.isNotEmpty(dto.getLevel()), BaseStudentPost::getLevel, dto.getLevel())
@@ -141,7 +141,7 @@ public class BaseStudentCadreController {
                 .orderByDesc(BaseStudentCadre::getId)
                 .selectAs(BaseStudent::getStudentId, BaseStudentCadrePageVo::getStudentId)
                 .selectAs(XjrUser::getName, BaseStudentCadrePageVo::getUserName)
-                .selectAs(Department::getName, BaseStudentCadrePageVo::getOrgName)
+                //.selectAs(Department::getName, BaseStudentCadrePageVo::getOrgName)
                 .selectAs(BaseClass::getName, BaseStudentCadrePageVo::getClassName)
                 .selectAs(BaseStudentPost::getPost, BaseStudentCadrePageVo::getPost)
                 .selectAs(BaseStudentPost::getLevel, BaseStudentCadrePageVo::getLevel)
@@ -151,8 +151,17 @@ public class BaseStudentCadreController {
                 .innerJoin(BaseStudent.class, BaseStudent::getUserId, BaseStudentCadre::getUserId)
                 .innerJoin(BaseStudentPost.class, BaseStudentPost::getId, BaseStudentCadre::getPostId)
                 .leftJoin(BaseClass.class, BaseClass::getId, BaseStudentCadre::getClassId)
-                .leftJoin(Department.class, Department::getId, BaseStudentCadre::getOrgId)
-                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, BaseStudentCadre::getUserId)
+                //.leftJoin( Department.class, Department::getId, BaseStudentCadre::getOrgId)
+                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, BaseStudentCadre::getUserId);
+
+        // 没传ClassID 不用查部门
+        if(ObjectUtil.isAllEmpty(dto.getClassId())||dto.getClassId()==0) {
+            wrapper.selectAs(Department::getName, BaseStudentCadrePageVo::getOrgName)
+                    .leftJoin(Department.class, Department::getId, BaseStudentCadre::getOrgId);
+        }
+
+        IPage<BaseStudentCadrePageVo> page = baseStudentCadreService.selectJoinListPage(ConventPage.getPage(dto), BaseStudentCadrePageVo.class,
+                wrapper
         );
 
         PageOutput<BaseStudentCadrePageVo> pageOutput = ConventPage.getPageOutput(page, BaseStudentCadrePageVo.class);
@@ -180,6 +189,7 @@ public class BaseStudentCadreController {
         for (AddBaseStudentCadreDto baseStudentCadreDto : dto) {
             List<BaseStudentCadre> list = baseStudentCadreService.list(
                     Wrappers.lambdaQuery(BaseStudentCadre.class)
+
                             .eq(BaseStudentCadre::getUserId, baseStudentCadreDto.getUserId())
                             .eq(BaseStudentCadre::getPostId, baseStudentCadreDto.getPostId())
             );