From 5db91cf38f04ad066163485665259808e828cbec Mon Sep 17 00:00:00 2001
From: yn147 <2270338776@qq.com>
Date: 星期三, 29 三月 2023 18:26:32 +0800
Subject: [PATCH] 门户资源接口

---
 src/main/java/com/qxueyou/scc/portal/homepage/serivce/imp/HomepageService.java   |  264 +++++++++++++++++++++++++++++++++++++++++++++++-----
 src/main/java/com/qxueyou/scc/portal/homepage/controller/HomepageController.java |   19 ++-
 src/main/java/com/qxueyou/scc/portal/homepage/serivce/IHomepageService.java      |    3 
 3 files changed, 251 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/portal/homepage/controller/HomepageController.java b/src/main/java/com/qxueyou/scc/portal/homepage/controller/HomepageController.java
index cb69dc3..0496e44 100644
--- a/src/main/java/com/qxueyou/scc/portal/homepage/controller/HomepageController.java
+++ b/src/main/java/com/qxueyou/scc/portal/homepage/controller/HomepageController.java
@@ -29,12 +29,19 @@
         return new Result(true, "tab",homepageService.getTabs());
     }
 
-//    @GetMapping
-//    @ApiOperation("鑾峰彇鍒楄〃")
-//    public Result getIndexDetail() {
-////        System.err.println("=====>鑾峰彇鍒楄〃");
-//        return new Result(true,"", homepageService.getIndexDetail());
-//    }
+    @GetMapping(value = "/home")
+    @ApiOperation("鑾峰彇鍒楄〃")
+    public Result getIndexDetail() {
+//        System.err.println("=====>鑾峰彇鍒楄〃");
+        return new Result(true,"", homepageService.getIndexDetail());
+    }
+
+    @GetMapping(value = "/getExcellentTeaching")
+    @ApiOperation("鑾峰彇绮惧搧鏁欏")
+    public Result getExcellentTeaching() {
+//        System.err.println("=====>鑾峰彇鍒楄〃");
+        return new Result(true,"", homepageService.getExcellentTeaching());
+    }
 
     @GetMapping("/article")
     @ApiOperation("鑾峰彇鏂囩珷鍒楄〃")
diff --git a/src/main/java/com/qxueyou/scc/portal/homepage/serivce/IHomepageService.java b/src/main/java/com/qxueyou/scc/portal/homepage/serivce/IHomepageService.java
index f2598b8..2f8fef2 100644
--- a/src/main/java/com/qxueyou/scc/portal/homepage/serivce/IHomepageService.java
+++ b/src/main/java/com/qxueyou/scc/portal/homepage/serivce/IHomepageService.java
@@ -13,7 +13,7 @@
     /**
      * 鑾峰彇棣栭〉鏁版嵁
 //     */
-//    Map<String, Object> getIndexDetail();
+    Map<String, Object> getIndexDetail();
 
     /**
      * 鑾峰彇棣栭〉鏍囩
@@ -31,4 +31,5 @@
 
     Map<String,Object> getVideo(String type,String subColumn,int page, int size);
 
+    Map<String,Object> getExcellentTeaching();
 }
diff --git a/src/main/java/com/qxueyou/scc/portal/homepage/serivce/imp/HomepageService.java b/src/main/java/com/qxueyou/scc/portal/homepage/serivce/imp/HomepageService.java
index 7b06e0a..03fc162 100644
--- a/src/main/java/com/qxueyou/scc/portal/homepage/serivce/imp/HomepageService.java
+++ b/src/main/java/com/qxueyou/scc/portal/homepage/serivce/imp/HomepageService.java
@@ -8,48 +8,255 @@
 //import com.qxueyou.appraisal.web.homepage.serivce.IHomepageService;
 //import com.qxueyou.entity.article.ArticleDO;
 //import com.qxueyou.util.CollectionUtils;
+
+import com.querydsl.jpa.impl.JPAQuery;
+import com.qxueyou.scc.admin.classes.service.IClassLectureService;
+import com.qxueyou.scc.admin.progress.dao.ProgressDAO;
+import com.qxueyou.scc.base.service.impl.CommonAppService;
 import com.qxueyou.scc.base.util.CollectionUtils;
+import com.qxueyou.scc.evaluate.service.IEvaluateService;
+import com.qxueyou.scc.operation.topic.service.ITopicService;
 import com.qxueyou.scc.portal.homepage.dao.ArticleDao;
 import com.qxueyou.scc.portal.homepage.serivce.IHomepageService;
 import com.qxueyou.scc.portal.information.model.Information;
+import com.qxueyou.scc.teach.res.model.Res;
+import com.qxueyou.scc.teach.res.model.ResLib;
+import com.qxueyou.scc.teach.res.service.IResAudioService;
+import com.qxueyou.scc.teach.subject.model.QSubjectLecture;
+import com.qxueyou.scc.teach.subject.model.SubjectLecture;
+import com.qxueyou.scc.teach.subject.model.view.OpenSubjectV;
+import com.qxueyou.scc.teach.subject.service.ILectureService;
+import com.qxueyou.scc.teach.subject.service.ISubjectService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+
+import static java.util.stream.Collectors.toList;
 
 /**
  * @author ZERO 2021-03-03 09:16
  */
 @Service
-public class HomepageService implements IHomepageService {
+public class HomepageService extends CommonAppService implements IHomepageService {
 
     @Autowired
     private ArticleDao articleDao;
 
-//    @Autowired
-//    private AppraisalBatchDao batchDao;
+    @Autowired
+    ISubjectService subjectService;
 
-//    @Autowired
-//    private ContestsBatchDao batchDao;
+    @Autowired
+    ILectureService lectureService;
 
-//    @Autowired
-//    private OccupationDao occupationDao;
+    @Autowired
+    IClassLectureService clsLectureService;
+
+    @Autowired
+    IResAudioService audioService;
+
+    @Autowired
+    ProgressDAO progressDao;
+
+    @Autowired
+    ITopicService topicService;
+
+    @Autowired
+    IEvaluateService evaluateService;
+
 
     /**
      * 鑾峰彇棣栭〉鏁版嵁
      */
 //    @Override
 //    public Map<String, Object> getIndexDetail() {
+//
+//        List<OpenSubjectV> openSubjectVS = subjectService.listOpenSubjectV();
+//        //鍗庢枃璇惧爞
+////        List<String> chineseLanguageClassId= openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("鍗庢枃璇惧爞")).map(OpenSubjectV::getSubjectId).collect(toList());
+//        //鏂囧寲涓浗
+//        List<String> culturalChinaId = openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("鏂囧寲涓浗")).map(OpenSubjectV::getSubjectId).collect(toList());
+//        //鏂囧寲璇惧爞
+//        List<String> culturalClassroomId = openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("鏂囧寲璇惧爞")).map(OpenSubjectV::getSubjectId).collect(toList());
+//        //瀹炴櫙璇惧爞
+//        List<String> realClassId = openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("瀹炴櫙璇惧爞")).map(OpenSubjectV::getSubjectId).collect(toList());
+//        //涓枃+鑱屼笟鏁欒偛璇剧▼
+//        List<String> chineseCourseId = openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("涓枃鑱屼笟鏁欒偛璇剧▼")).map(OpenSubjectV::getSubjectId).collect(toList());
+//
+//        StringBuffer hql = new StringBuffer("from SubjectLecture p where deleteFlag is false and status=?");
+//        List<Object> args = CollectionUtils.newList(SubjectLecture.STATUS_DRAFT);
+//        List<SubjectLecture> subjectLectureList = find(hql.toString(), args, SubjectLecture.class);
+//
+//        //鍗庢枃璇惧爞
+////        List<String> shineseLanguageClassResId= subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getSubjectId().equals(chineseLanguageClassId.get(0))).map(SubjectLecture::getResItemId).collect(toList());
+//        //鏂囧寲涓浗
+//        List<String> culturalChinaResId = subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getName().equals(culturalChinaId.get(0))).map(SubjectLecture::getResItemId).collect(toList());
+//        //鏂囧寲璇惧爞
+//        List<String> culturalClassroomResId = subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getName().equals(culturalClassroomId.get(0))).map(SubjectLecture::getResItemId).collect(toList());
+//        //瀹炴櫙璇惧爞
+//        List<String> realClassResId = subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getName().equals(realClassId.get(0))).map(SubjectLecture::getResItemId).collect(toList());
+//        //涓枃+鑱屼笟鏁欒偛璇剧▼
+//        List<String> chineseCourseResId = subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getName().equals(chineseCourseId.get(0))).map(SubjectLecture::getResItemId).collect(toList());
+//        StringBuffer hqlRes = new StringBuffer("from Res p where deleteFlag is false and status=?");
+//        List<Res> resList = find(hqlRes.toString(), args, Res.class);
+//        ArrayList<Res> shineseLanguageClassRes = new ArrayList<>();
+//        ArrayList<Res> culturalChinaRes = new ArrayList<>();
+//        ArrayList<Res> culturalClassroomRes = new ArrayList<>();
+//        ArrayList<Res> realClassRes = new ArrayList<>();
+//        for (Res res : resList) {
+////            for (String resItemId : shineseLanguageClassResId) {
+////                if (res.getResId().equals(resItemId)) {
+////                    shineseLanguageClassRes.add(res);
+////                }
+////            }
+//            for (String resItemId : culturalChinaResId) {
+//                if (res.getResId().equals(resItemId)) {
+//                    culturalChinaRes.add(res);
+//                }
+//            }
+//            for (String resItemId : culturalClassroomResId) {
+//                if (res.getResId().equals(resItemId)) {
+//                    culturalClassroomRes.add(res);
+//                }
+//            }
+//            for (String resItemId : realClassResId) {
+//                if (res.getResId().equals(resItemId)) {
+//                    realClassRes.add(res);
+//                }
+//            }
+//        }
+//
 ////        System.err.println("================>鑾峰彇棣栭〉鏁版嵁");
 //        return CollectionUtils.newObjectMap(
-//                "appraisalBatchInfo", batchDao.findBatches(1, 24, null).get("data"), // createTime  browseCount dateTime
-//                "occupationInfo", articleDao.findPage(CollectionUtils.newObjectMap("type", "qualifiedSet", "status", ArticleDO.UP_STATUS), 1, 8, "dateTime", Sort.Direction.DESC).get("data"),
-//                "news", articleDao.findPage(CollectionUtils.newObjectMap("type", "policiesRegulations", "status", ArticleDO.UP_STATUS), 1, 8, "dateTime", Sort.Direction.DESC).get("data"));
+//                "鍗庢枃璇惧爞", shineseLanguageClassRes,
+//                "鏂囧寲涓浗", culturalChinaRes,
+//                "瀹炴櫙璇惧爞", culturalClassroomRes,
+//                "涓枃+鑱屼笟鏁欒偛璇剧▼", realClassRes);
 //    }
+    @Override
+    public Map<String, Object> getIndexDetail() {
+
+        List<OpenSubjectV> openSubjectVS = subjectService.listOpenSubjectV();
+        //鏂囧寲涓浗
+        List<String> culturalChinaId = openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("鏂囧寲涓浗")).map(OpenSubjectV::getSubjectId).collect(toList());
+        //鏂囧寲璇惧爞
+//        List<String> culturalClassroomId = openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("鏂囧寲璇惧爞")).map(OpenSubjectV::getSubjectId).collect(toList());
+        //鍗庢枃璇惧爞
+        List<String> chineseLanguageClassId= openSubjectVS.stream().filter(openSubjectV -> openSubjectV.getSubjectName().equals("鍗庢枃璇惧爞")).map(OpenSubjectV::getSubjectId).collect(toList());
+
+        StringBuffer hql = new StringBuffer("from SubjectLecture p where deleteFlag is false and status=?");
+        List<Object> args = CollectionUtils.newList(SubjectLecture.STATUS_DRAFT);
+        List<SubjectLecture> subjectLectureList = find(hql.toString(), args, SubjectLecture.class);
+        //鏂囧寲涓浗
+        List<String> culturalChinaResId = culturalChinaId.size() == 0 ? null : subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getSubjectId().equals(culturalChinaId.get(0))).map(SubjectLecture::getResItemId).collect(toList());
+        //鏂囧寲璇惧爞
+        List<String> chineseLanguageClassResId = chineseLanguageClassId.size() == 0 ? null : subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getSubjectId().equals(chineseLanguageClassId.get(0))).map(SubjectLecture::getResItemId).collect(toList());
+        StringBuffer hqlRes = new StringBuffer("from Res p where deleteFlag is false and status=?");
+        List<Res> resList = find(hqlRes.toString(), args, Res.class);
+        List<Res> culturalChinaRes = new ArrayList<>();
+        List<Res> chineseLanguageClassRes = new ArrayList<>();
+        if (culturalChinaResId != null) {
+            for (Res res : resList) {
+                for (String resItemId : culturalChinaResId) {
+                    if (res.getResId().equals(resItemId)) {
+                        culturalChinaRes.add(res);
+                    }
+                }
+
+            }
+        }
+
+        if (chineseLanguageClassResId != null) {
+            for (Res res : resList) {
+                for (String resItemId : chineseLanguageClassResId) {
+                    if (res.getResId().equals(resItemId)) {
+                        chineseLanguageClassRes.add(res);
+                    }
+                }
+            }
+        }
+
+//        return CollectionUtils.newObjectMap(
+//                "culturalClassroomRes", chineseLanguageClassRes,
+//                "culturalChinaRes", culturalChinaRes);
+        return CollectionUtils.newObjectMap(
+                "culturalClassroomRes",CollectionUtils.newObjectMap("subjectId",culturalChinaId.get(0),"data",chineseLanguageClassRes),
+                "culturalChinaRes",CollectionUtils.newObjectMap("subjectId",chineseLanguageClassId.get(0),"data",culturalChinaRes)
+        );
+    }
+
+    @Override
+    public Map<String, Object> getExcellentTeaching() {
+
+        List<OpenSubjectV> openSubjectVS = subjectService.listOpenSubjectV();
+        //鏂囧寲璇惧爞
+        List<String> culturalClassroomId = openSubjectVS.stream()
+                .filter(openSubjectV -> openSubjectV.getSubjectName().equals("鍗庢枃璇惧爞"))
+                .map(OpenSubjectV::getSubjectId).collect(toList());
+        //瀹炴櫙璇惧爞
+        List<String> realClassId = openSubjectVS.stream()
+                .filter(openSubjectV -> openSubjectV.getSubjectName().equals("瀹炴櫙璇惧爞"))
+                .map(OpenSubjectV::getSubjectId).collect(toList());
+        //涓枃+鑱屼笟鏁欒偛璇剧▼
+        List<String> chineseCourseId = openSubjectVS.stream()
+                .filter(openSubjectV -> openSubjectV.getSubjectName().equals("涓枃+鑱屼笟鏁欒偛璇剧▼"))
+                .map(OpenSubjectV::getSubjectId).collect(toList());
+
+        StringBuffer hql = new StringBuffer("from SubjectLecture p where deleteFlag is false and status=?");
+        List<Object> args = CollectionUtils.newList(SubjectLecture.STATUS_DRAFT);
+        List<SubjectLecture> subjectLectureList = find(hql.toString(), args, SubjectLecture.class);
+
+        //鍗庢枃璇惧爞
+        List<String> culturalClassroomResId = culturalClassroomId.size() == 0 ? null : subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getSubjectId().equals(culturalClassroomId.get(0)))
+                .sorted(Comparator.comparing(SubjectLecture::getCreateTime)
+                        .reversed()).map(SubjectLecture::getResItemId).limit(8).collect(toList());
+        //瀹炴櫙璇惧爞
+        List<String> realClassResId = realClassId.size() == 0 ? null : subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getSubjectId().equals(realClassId.get(0)))
+                .sorted(Comparator.comparing(SubjectLecture::getCreateTime)
+                        .reversed()).map(SubjectLecture::getResItemId).limit(8).collect(toList());
+        //涓枃+鑱屼笟鏁欒偛璇剧▼
+        List<String> chineseCourseResId = chineseCourseId.size() == 0 ? null : subjectLectureList.stream().filter(subjectLecture -> subjectLecture.getSubjectId().equals(chineseCourseId.get(0)))
+                .sorted(Comparator.comparing(SubjectLecture::getCreateTime)
+                        .reversed()).map(SubjectLecture::getResItemId).limit(8).collect(toList());
+        StringBuffer hqlRes = new StringBuffer("from Res p where deleteFlag is false and status=?");
+        List<Res> resList = find(hqlRes.toString(), args, Res.class);
+        ArrayList<Res> culturalChinaRes = new ArrayList<>();
+        ArrayList<Res> culturalClassroomRes = new ArrayList<>();
+        ArrayList<Res> realClassRes = new ArrayList<>();
+
+        if (culturalClassroomResId != null) {
+            for (String resItemId : culturalClassroomResId) {
+                for (Res res : resList) {
+                    if (res.getResId().equals(resItemId)) {
+                        culturalChinaRes.add(res);
+                    }
+                }
+            }
+        }
+        if (realClassResId != null) {
+            for (String resItemId : realClassResId) {
+                for (Res res : resList) {
+                    if (res.getResId().equals(resItemId)) {
+                        culturalClassroomRes.add(res);
+                    }
+                }
+            }
+        }
+        if (chineseCourseResId != null) {
+            for (String resItemId : chineseCourseResId) {
+                for (Res res : resList) {
+                    if (res.getResId().equals(resItemId)) {
+                        realClassRes.add(res);
+                    }
+                }
+            }
+        }
+        return CollectionUtils.newObjectMap(
+                "culturalChinaRes",CollectionUtils.newObjectMap("subjectId",culturalClassroomId.size() == 0 ? null : culturalClassroomId.get(0),"data",culturalChinaRes),
+                "culturalClassroomRes",CollectionUtils.newObjectMap("subjectId",realClassId.size() == 0 ? null : realClassId.get(0),"data",culturalClassroomRes),
+                "realClassRes", CollectionUtils.newObjectMap("subjectId",chineseCourseId.size() == 0 ? null :chineseCourseId.get(0),"data",realClassRes));
+    }
 
 
     /**
@@ -61,11 +268,11 @@
         boolean exist;
         List<Map<String, Object>> tabs = new ArrayList<>();
 
-        List<Map<String,String>> sub=new ArrayList<>();
+        List<Map<String, String>> sub = new ArrayList<>();
 
 
         exist = articleDao.exist("examBriefing");
-        if (exist) tabs.add(CollectionUtils.newObjectMap("name", "濯掍綋鑱氱劍", "type", "examBriefing","list",sub));
+        if (exist) tabs.add(CollectionUtils.newObjectMap("name", "濯掍綋鑱氱劍", "type", "examBriefing", "list", sub));
 
         exist = articleDao.exist("qualifiedSet");
         if (exist) tabs.add(CollectionUtils.newObjectMap("name", "鍗庢暀鏂伴矞浜�", "type", "qualifiedSet"));
@@ -79,14 +286,14 @@
         exist = articleDao.exist("popularInformation");
         if (exist) tabs.add(CollectionUtils.newObjectMap("name", "鑱旂郴鎴戜滑", "type", "popularInformation"));
 
-        exist =articleDao.existsubColumn("examBriefing","introduce");
-        if(exist) sub.add(CollectionUtils.newStringMap("name", "娴峰璧勮", "subColumn", "introduce") );
+        exist = articleDao.existsubColumn("examBriefing", "introduce");
+        if (exist) sub.add(CollectionUtils.newStringMap("name", "娴峰璧勮", "subColumn", "introduce"));
 
-        exist =articleDao.existsubColumn("examBriefing","contestFile");
-        if(exist) sub.add(CollectionUtils.newStringMap("name", "娴峰璧勮", "subColumn", "contestFile"));
+        exist = articleDao.existsubColumn("examBriefing", "contestFile");
+        if (exist) sub.add(CollectionUtils.newStringMap("name", "娴峰璧勮", "subColumn", "contestFile"));
 
-        exist =articleDao.existsubColumn("examBriefing","previousContest");
-        if(exist) sub.add(CollectionUtils.newStringMap("name", "寰�灞婂ぇ璧�", "subColumn", "previousContest"));
+        exist = articleDao.existsubColumn("examBriefing", "previousContest");
+        if (exist) sub.add(CollectionUtils.newStringMap("name", "寰�灞婂ぇ璧�", "subColumn", "previousContest"));
 
         return tabs;
     }
@@ -95,8 +302,9 @@
      * 鑾峰彇鏂囩珷鍒楄〃
      */
     @Override
-    public Map<String, Object> getArticle(String type,String subColumn,String numbers,int page, int size, String keyword) {
-        return articleDao.moreOccupation(type,subColumn,numbers,page, size, keyword);
+    public Map<String, Object> getArticle(String type, String subColumn, String numbers, int page, int size, String
+            keyword) {
+        return articleDao.moreOccupation(type, subColumn, numbers, page, size, keyword);
     }
 
 
@@ -111,7 +319,7 @@
         //inc娴忚鏁�
         articleDao.incBrowseCount(id);
 
-        Information article = articleDao.read(Information.class,id);
+        Information article = articleDao.read(Information.class, id);
 
         Map<String, Object> data = CollectionUtils.newObjectMap(
                 "title", article.getTitle(),
@@ -128,13 +336,13 @@
         return data;
     }
 
-    public Information getArticlesType(String type,String subColumn) {
-        Information articleDO=articleDao.getArticle(type,subColumn);
+    public Information getArticlesType(String type, String subColumn) {
+        Information articleDO = articleDao.getArticle(type, subColumn);
         return articleDO;
     }
 
     @Override
     public Map<String, Object> getVideo(String type, String subColumn, int page, int size) {
-        return articleDao.getVideoList(type,subColumn,page, size);
+        return articleDao.getVideoList(type, subColumn, page, size);
     }
 }

--
Gitblit v1.8.0