From 79ab2cbd31c022916a8e696903d5eb34b70aa403 Mon Sep 17 00:00:00 2001
From: EricsHu <hrr145632>
Date: 星期六, 25 十一月 2023 15:57:07 +0800
Subject: [PATCH] 讨论区关键字过滤、首页班级显示班级信息
---
src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java | 6
src/main/java/com/qxueyou/scc/Sensitive/SensitiveWordInit.java | 162 ++++++++++++++++++
src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java | 1
src/main/java/com/qxueyou/scc/Sensitive/SensitiveFilterService.java | 199 ++++++++++++++++++++++
src/main/java/com/qxueyou/scc/controller/IndexController.java | 24 +
src/main/java/com/qxueyou/scc/exam/dao/ExamResultVDao.java | 7
src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java | 22 ++
src/main/java/com/qxueyou/scc/admin/score/dao/HomeworkScoreVDAO.java | 2
src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java | 37 +++
src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java | 9
src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java | 2
src/main/resources/SensitiveWordList.txt | 1
src/main/java/com/qxueyou/scc/admin/score/dao/ExamScoreVDAO.java | 1
src/main/java/com/qxueyou/scc/controller/ClassController.java | 16 +
14 files changed, 473 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/qxueyou/scc/Sensitive/SensitiveFilterService.java b/src/main/java/com/qxueyou/scc/Sensitive/SensitiveFilterService.java
new file mode 100644
index 0000000..98012e7
--- /dev/null
+++ b/src/main/java/com/qxueyou/scc/Sensitive/SensitiveFilterService.java
@@ -0,0 +1,199 @@
+package com.qxueyou.scc.Sensitive;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+
+//鏁忔劅璇嶈繃婊ゅ櫒锛氬埄鐢―FA绠楁硶 杩涜鏁忔劅璇嶈繃婊�
+
+
+@SuppressWarnings("rawtypes")
+public class SensitiveFilterService {
+
+
+ private Map sensitiveWordMap = null;
+
+
+ // 鏈�灏忓尮閰嶈鍒�
+ public static int minMatchTYpe = 1;
+
+
+ // 鏈�澶у尮閰嶈鍒�
+ public static int maxMatchType = 2;
+
+
+ // 鍗曚緥
+ private static SensitiveFilterService instance = null;
+
+
+ // 鏋勯�犲嚱鏁帮紝鍒濆鍖栨晱鎰熻瘝搴�
+ private SensitiveFilterService() {
+
+
+ sensitiveWordMap = new SensitiveWordInit().initKeyWord();
+ }
+
+
+ // 鑾峰彇鍗曚緥
+ public static SensitiveFilterService getInstance() {
+ if (null == instance) {
+ instance = new SensitiveFilterService();
+ }
+ return instance;
+ }
+
+
+// 鑾峰彇鏂囧瓧涓殑鏁忔劅璇�
+
+
+ public Set<String> getSensitiveWord(String txt, int matchType) {
+ Set<String> sensitiveWordList = new HashSet<String>();
+
+
+ for (int i = 0; i < txt.length(); i++) {
+
+
+// 鍒ゆ柇鏄惁鍖呭惈鏁忔劅瀛楃
+ int length = CheckSensitiveWord(txt, i, matchType);
+
+// 瀛樺湪,鍔犲叆list涓�
+ if (length > 0) {
+ sensitiveWordList.add(txt.substring(i, i + length));
+
+// 鍑�1鐨勫師鍥狅紝鏄洜涓篺or浼氳嚜澧�
+ i = i + length - 1;
+ }
+ }
+
+ return sensitiveWordList;
+ }
+// 鏇挎崲鏁忔劅瀛楀瓧绗�
+
+ public String replaceSensitiveWord(String txt, int matchType,
+ String replaceChar) {
+ String resultTxt = txt;
+// 鑾峰彇鎵�鏈夌殑鏁忔劅璇�
+ Set<String> set = getSensitiveWord(txt, matchType);
+ Iterator<String> iterator = set.iterator();
+ String word = null;
+ String replaceString = null;
+ while (iterator.hasNext()) {
+ word = iterator.next();
+ replaceString = getReplaceChars(replaceChar, word.length());
+ resultTxt = resultTxt.replaceAll(word, replaceString);
+ }
+ return resultTxt;
+ }
+
+ /**
+ * 杩斿洖 瀛楃涓插惈鏈夌殑鎷︽埅璇� 閫楀彿闅斿紑
+ *
+ * @param txt
+ * @return
+ */
+ public String returnSensitiveWord(String txt) {
+ String resultTxt = txt;
+ StringBuilder sensitiveWord = new StringBuilder("");
+ // 鑾峰彇鎵�鏈夌殑鏁忔劅璇�
+ Set<String> set = getSensitiveWord(txt, 1);
+ Iterator<String> iterator = set.iterator();
+ String word = null;
+ String replaceString = null;
+ while (iterator.hasNext()) {
+ String str = resultTxt;
+ word = iterator.next();
+ replaceString = getReplaceChars("*", word.length());
+ resultTxt = resultTxt.replaceAll(word, replaceString);
+ if (!resultTxt.equals(str)){
+ sensitiveWord.append(word);
+ sensitiveWord.append(",");
+ }
+ }
+ return sensitiveWord.toString();
+ }
+ /**
+ * 鑾峰彇鏇挎崲瀛楃涓�
+
+ *
+ * @param replaceChar
+ * @param length
+ * @return
+ */
+ private String getReplaceChars(String replaceChar, int length) {
+ String resultReplace = replaceChar;
+ for (int i = 1; i < length; i++) {
+ resultReplace += replaceChar;
+ }
+
+ return resultReplace;
+ }
+
+ /**
+ * 鍒ゆ柇鏂囨湰涓寘鍚晱鎰熻瘝涓暟
+ * @param
+ */
+ public static boolean checkContainCount(String txt) {
+ SensitiveFilterService filter = SensitiveFilterService.getInstance();
+ Set<java.lang.String> hou = filter.getSensitiveWord(txt, 1);
+ return hou.size() > 0;
+ }
+ /**
+
+ * 妫�鏌ユ枃瀛椾腑鏄惁鍖呭惈鏁忔劅瀛楃锛屾鏌ヨ鍒欏涓嬶細<br>
+ * 濡傛灉瀛樺湪锛屽垯杩斿洖鏁忔劅璇嶅瓧绗︾殑闀垮害锛屼笉瀛樺湪杩斿洖0
+ *
+ * @param txt
+ * @param beginIndex
+ * @param matchType
+ * @return
+ */
+ public int CheckSensitiveWord(String txt, int beginIndex, int matchType) {
+
+// 鏁忔劅璇嶇粨鏉熸爣璇嗕綅锛氱敤浜庢晱鎰熻瘝鍙湁1浣嶇殑鎯呭喌
+ boolean flag = false;
+
+// 鍖归厤鏍囪瘑鏁伴粯璁や负0
+ int matchFlag = 0;
+ Map nowMap = sensitiveWordMap;
+ for (int i = beginIndex; i < txt.length(); i++) {
+ char word = txt.charAt(i);
+// 鑾峰彇鎸囧畾key
+ nowMap = (Map) nowMap.get(word);
+
+// 瀛樺湪锛屽垯鍒ゆ柇鏄惁涓烘渶鍚庝竴涓�
+ if (nowMap != null) {
+
+// 鎵惧埌鐩稿簲key锛屽尮閰嶆爣璇�+1
+ matchFlag++;
+
+// 濡傛灉涓烘渶鍚庝竴涓尮閰嶈鍒�,缁撴潫寰幆锛岃繑鍥炲尮閰嶆爣璇嗘暟
+ if ("1".equals(nowMap.get("isEnd"))) {
+
+// 缁撴潫鏍囧織浣嶄负true
+ flag = true;
+
+// 鏈�灏忚鍒欙紝鐩存帴杩斿洖,鏈�澶ц鍒欒繕闇�缁х画鏌ユ壘
+ if (SensitiveFilterService.minMatchTYpe == matchType) {
+ break;
+ }
+ }
+ }
+
+
+// 涓嶅瓨鍦紝鐩存帴杩斿洖
+ else {
+ break;
+ }
+ }
+
+
+ if (matchFlag < 2 && !flag) { // 闀垮害蹇呴』澶т簬绛変簬1锛屼负璇�
+ matchFlag = 0;
+ }
+ return matchFlag;
+ }
+
+
+}
diff --git a/src/main/java/com/qxueyou/scc/Sensitive/SensitiveWordInit.java b/src/main/java/com/qxueyou/scc/Sensitive/SensitiveWordInit.java
new file mode 100644
index 0000000..5306fa8
--- /dev/null
+++ b/src/main/java/com/qxueyou/scc/Sensitive/SensitiveWordInit.java
@@ -0,0 +1,162 @@
+package com.qxueyou.scc.Sensitive;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+
+//灞忚斀鏁忔劅璇嶅垵濮嬪寲
+
+
+@SuppressWarnings({"rawtypes", "unchecked"})
+public class SensitiveWordInit {
+ // 瀛楃缂栫爜
+ private String ENCODING = "UTF-8";
+
+ // 鍒濆鍖栨晱鎰熷瓧搴�
+ public Map initKeyWord() {
+// 璇诲彇鏁忔劅璇嶅簱 ,瀛樺叆Set涓�
+ Set<String> wordSet = readSensitiveWordFile();
+// 灏嗘晱鎰熻瘝搴撳姞鍏ュ埌HashMap涓�//纭畾鏈夌┓鑷姩鏈篋FA
+ return addSensitiveWordToHashMap(wordSet);
+ }
+
+
+ /**
+ * 璇诲彇鏁忔劅璇嶅簱锛屽皢鏁忔劅璇嶆斁鍏ashSet涓紝鏋勫缓涓�涓狣FA绠楁硶妯″瀷锛�<br>
+ * 涓� = {
+ * isEnd = 0
+ * 鍥� = {
+ * isEnd = 1
+ * 浜� = {isEnd = 0
+ * 姘� = {isEnd = 1}
+ * }
+ * 鐢� = {
+ * isEnd = 0
+ * 浜� = {
+ * isEnd = 1
+ * }
+ * }
+ * }
+ * }
+ * 浜� = {
+ * isEnd = 0
+ * 鏄� = {
+ * isEnd = 0
+ * 绾� = {
+ * isEnd = 0
+ * 鏃� = {
+ * isEnd = 1
+ * }
+ * }
+ * }
+ * }
+ */
+
+
+ // 璇诲彇鏁忔劅璇嶅簱 ,瀛樺叆HashMap涓�
+ private Set<String> readSensitiveWordFile() {
+
+
+ Set<String> wordSet = null;
+// app涓洪」鐩湴鍧�
+ /*
+ * String app = System.getProperty("user.dir"); System.out.println(app);
+ * URL resource = Thread.currentThread().getContextClassLoader()
+ * .getResource("/"); String path = resource.getPath().substring(1);
+ * System.out.println(path); File file = new File(path +
+ * "censorwords.txt");
+ */
+
+
+//鏁忔劅璇嶅簱
+ File file = new File(
+ "src/main/resources/SensitiveWordList.txt");
+ try {
+// 璇诲彇鏂囦欢杈撳叆娴�
+ InputStreamReader read = new InputStreamReader(new FileInputStream(
+ file), ENCODING);
+
+// 鏂囦欢鏄惁鏄枃浠� 鍜� 鏄惁瀛樺湪
+ if (file.isFile() && file.exists()) {
+
+ wordSet = new HashSet<String>();
+// StringBuffer sb = new StringBuffer();
+// BufferedReader鏄寘瑁呯被锛屽厛鎶婂瓧绗﹁鍒扮紦瀛橀噷锛屽埌缂撳瓨婊′簡锛屽啀璇诲叆鍐呭瓨锛屾彁楂樹簡璇荤殑鏁堢巼銆�
+ BufferedReader br = new BufferedReader(read);
+ String txt = null;
+
+
+// 璇诲彇鏂囦欢锛屽皢鏂囦欢鍐呭鏀惧叆鍒皊et涓�
+ while ((txt = br.readLine()) != null) {
+ wordSet.add(txt);
+ }
+
+
+ br.close();
+
+
+ /*
+ * String str = sb.toString(); String[] ss = str.split("锛�"); for
+ * (String s : ss) { wordSet.add(s); }
+ */
+ }
+
+
+// 鍏抽棴鏂囦欢娴�
+ read.close();
+
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+
+ return wordSet;
+ }
+
+
+ // 灏咹ashSet涓殑鏁忔劅璇�,瀛樺叆HashMap涓�
+ private Map addSensitiveWordToHashMap(Set<String> wordSet) {
+
+
+// 鍒濆鍖栨晱鎰熻瘝瀹瑰櫒锛屽噺灏戞墿瀹规搷浣�
+ Map wordMap = new HashMap(wordSet.size());
+
+
+ for (String word : wordSet) {
+ Map nowMap = wordMap;
+ for (int i = 0; i < word.length(); i++) {
+// 杞崲鎴恈har鍨�
+ char keyChar = word.charAt(i);
+// 鑾峰彇
+ Object tempMap = nowMap.get(keyChar);
+// 濡傛灉瀛樺湪璇ey锛岀洿鎺ヨ祴鍊�
+ if (tempMap != null) {
+ nowMap = (Map) tempMap;
+ }
+// 涓嶅瓨鍦ㄥ垯锛屽垯鏋勫缓涓�涓猰ap锛屽悓鏃跺皢isEnd璁剧疆涓�0锛屽洜涓轰粬涓嶆槸鏈�鍚庝竴涓�
+ else {
+// 璁剧疆鏍囧織浣�
+ Map<String, String> newMap = new HashMap<String, String>();
+ newMap.put("isEnd", "0");
+// 娣诲姞鍒伴泦鍚�
+ nowMap.put(keyChar, newMap);
+ nowMap = newMap;
+ }
+// 鏈�鍚庝竴涓�
+ if (i == word.length() - 1) {
+ nowMap.put("isEnd", "1");
+ }
+ }
+ }
+ return wordMap;
+ }
+
+
+}
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java
index edeb893..8a61f3f 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java
@@ -145,4 +145,6 @@
List<Map<String, Object>> queryAllClassIdAndName();
ClsClass getReClass(String classTypes);
+
+ List<ClsClass> getTeacherClassLst(String teacherId);
}
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java
index 056deb8..429f9d3 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java
@@ -108,6 +108,25 @@
}
@Override
+ public List<ClsClass> getTeacherClassLst(String teacherId) {
+ String sql = "select c.* " +
+ "from cls_class as c " +
+ "where c.DELETE_FLAG is false and c.CLASS_ID in " +
+ "(select cs.CLASS_ID " +
+ "from cls_class_re_subject as cs " +
+ "LEFT JOIN subject as s on s.SUBJECT_ID =cs.SUBJECT_ID " +
+ "where cs.DELETE_FLAG is false and s.DELETE_FLAG is false and s.TEACHER_ID=:teacherId )";
+ List<Object[]> list = findByComplexSql(sql, CollectionUtils.newObjectMap("teacherId", teacherId), Object[].class);
+ List<ClsClass> clsClassList=new ArrayList<>();
+ for (Object[] objects : list) {
+ ClsClass clsClass = new ClsClass();
+ clsClass.setClassId(objects[0].toString());
+ clsClassList.add(clsClass);
+ }
+ return clsClassList;
+ }
+
+ @Override
public Result updateClass(String classId, String className, String classNumber, Date startTime, Date endTime,
String subjectId, boolean needJoinAudit, boolean needQuitAudit, boolean showAnalysisAfterExer,
boolean canMultiExer, boolean needForum, String teacherId, String chargeClassName) {
@@ -319,7 +338,8 @@
public Map<String, Object> getClassActivityInfo(String classId) {
Map<String, Object> result = scoreService.queryClassHomeworkScoreInfo(classId);
- result.putAll(scoreService.queryClassExamScoreInfo(classId));
+ Map<String, Object> stringObjectMap = scoreService.queryClassExamScoreInfo(classId);
+ result.putAll(stringObjectMap);
ClsClass cls = read(classId);
diff --git a/src/main/java/com/qxueyou/scc/admin/score/dao/ExamScoreVDAO.java b/src/main/java/com/qxueyou/scc/admin/score/dao/ExamScoreVDAO.java
index 759c3b4..716533d 100644
--- a/src/main/java/com/qxueyou/scc/admin/score/dao/ExamScoreVDAO.java
+++ b/src/main/java/com/qxueyou/scc/admin/score/dao/ExamScoreVDAO.java
@@ -21,4 +21,5 @@
return this.findCount(hql, CollectionUtils.newList(classId));
}
+
}
diff --git a/src/main/java/com/qxueyou/scc/admin/score/dao/HomeworkScoreVDAO.java b/src/main/java/com/qxueyou/scc/admin/score/dao/HomeworkScoreVDAO.java
index 6481c54..ed9db3c 100644
--- a/src/main/java/com/qxueyou/scc/admin/score/dao/HomeworkScoreVDAO.java
+++ b/src/main/java/com/qxueyou/scc/admin/score/dao/HomeworkScoreVDAO.java
@@ -13,7 +13,7 @@
String hql = "select count(distinct id.homeworkId) from HomeworkScoreV where classId=?";
- return this.findCount(hql, CollectionUtils.newList(classId));
+ return this.findCount(hql, CollectionUtils.newList(classId));
}
public int getHomeworkToAuditCount(String classId) {
diff --git a/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java b/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java
index b2fefea..7f47114 100644
--- a/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java
+++ b/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java
@@ -7,6 +7,7 @@
import com.qxueyou.scc.exam.dao.ExamResultVDao;
import com.qxueyou.scc.exam.model.ExamResultV;
import com.qxueyou.scc.exercise.dao.ExerciseResultDAO;
+import com.qxueyou.scc.exercise.model.ExerciseRecord;
import com.qxueyou.scc.exercise.model.ExerciseResultV;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -36,14 +37,42 @@
public Map<String,Object> queryClassExamScoreInfo(String classId) {
return CollectionUtils.newObjectMap(
- "examCount",examDao.getExamCount(classId),
- "examHasAuditCount",examDao.getExamCount(classId),
- "examToAuditCount",0,
- "examNoSubmitCount",examDao.getToSubmitExamCount(classId)
+ "examCount",examResultVDao.getExamCount(classId),//鑰冭瘯娆℃暟
+ "examHasAuditCount",getCommitExamCount(classId, Integer.parseInt(ExerciseRecord.STATUS_CHECK)),//宸叉壒闃�
+ "examToAuditCount",getCommitExamCount(classId, Integer.parseInt(ExerciseRecord.STATUS_SUBMIT)),//寰呮壒闃�
+ "examNoSubmitCount",getCommitExamCount(classId, Integer.parseInt(ExerciseRecord.STATUS_NOT_SUBMIT))//鏈彁浜�
);
}
+ public int getUnCommitExamCount(String classId) {
+ String sql = "SELECT c.exam_id, c.exam_name, c.exam_batch_Id, c.start_Time, c.end_Time, "
+ + "c.class_id, d.exercise_Group_Id, d.score, d. STATUS FROM ( SELECT i.exam_Id, "
+ + "i.exam_Name, b.exam_Batch_Id, b.start_Time,b.end_Time, r.class_Id FROM Exam_Info i, "
+ + "Exam_Batch_Info b, Exam_Class_Re r WHERE i.exam_Id = b.exam_Id AND b.exam_Batch_Id "
+ + "= r.exam_Batch_Id AND r.class_Id =:classId AND i.exam_status = 1 AND b.delete_Flag"
+ + "= 0 AND r.delete_Flag = 0 ) c LEFT OUTER JOIN ( SELECT * FROM Exercise_Record "
+ + "d WHERE d.delete_Flag = 0 ) d ON c.exam_Batch_Id = d.exam_Batch_Id "
+ + "AND c.class_id = d.class_id where ifnull(d.status,0)= 0 and (c.end_Time - CURRENT_TIMESTAMP ()) < 0 ";
+ List<Object[]> list = findByComplexSql(sql, CollectionUtils.newObjectMap("classId", classId),
+ Object[].class);
+ return list.size();
+
+ }
+
+ public int getCommitExamCount(String classId,Integer status) {
+ String sql = "SELECT c.exam_id, c.exam_name, c.exam_batch_Id, c.start_Time, c.end_Time, "
+ + "c.class_id, d.exercise_Group_Id, d.score, d. STATUS FROM ( SELECT i.exam_Id, "
+ + "i.exam_Name, b.exam_Batch_Id, b.start_Time,b.end_Time, r.class_Id FROM Exam_Info i, "
+ + "Exam_Batch_Info b, Exam_Class_Re r WHERE i.exam_Id = b.exam_Id AND b.exam_Batch_Id "
+ + "= r.exam_Batch_Id AND r.class_Id =:classId AND i.exam_status = 1 AND b.delete_Flag"
+ + "= 0 AND r.delete_Flag = 0 ) c LEFT OUTER JOIN ( SELECT * FROM Exercise_Record "
+ + "d WHERE d.delete_Flag = 0 ) d ON c.exam_Batch_Id = d.exam_Batch_Id "
+ + "AND c.class_id = d.class_id where d.status = :status ";
+ List<Object[]> list = findByComplexSql(sql, CollectionUtils.newObjectMap("classId", classId,"status",status),
+ Object[].class);
+ return list.size();
+ }
@Override
public Map<String,Object> queryClassHomeworkScoreInfo(String classId) {
diff --git a/src/main/java/com/qxueyou/scc/controller/ClassController.java b/src/main/java/com/qxueyou/scc/controller/ClassController.java
index 54fcd38..e755e93 100644
--- a/src/main/java/com/qxueyou/scc/controller/ClassController.java
+++ b/src/main/java/com/qxueyou/scc/controller/ClassController.java
@@ -8,6 +8,7 @@
import java.util.List;
import java.util.Map;
+import com.qxueyou.scc.teach.student.model.StuStudent;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -63,6 +64,21 @@
@Autowired
IClassLectureService clsLectureService;
+ /**
+ * 鑾峰彇姝e父鐝骇鍒楄〃
+ *
+ * @param keyword
+ * @param limit
+ * @param pageNum
+ * @return
+ */
+ @ApiOperation(value = "鑾峰彇瀛︾敓璇︽儏鎺ュ彛", notes = "")
+ @GetMapping(value = "/student/getStudentDetails")
+ public Result getStudentDetails() {
+
+ StuStudent stu = this.studentService.getStudentDetails(ClientUtils.getUserId());
+ return new Result(true, "success", stu);
+ }
//---------------------------------------------------------------------------------app鎺ュ彛--------------------------------------------------------------------------------------------------------------------/
/**
diff --git a/src/main/java/com/qxueyou/scc/controller/IndexController.java b/src/main/java/com/qxueyou/scc/controller/IndexController.java
index 73694c4..9158f6e 100644
--- a/src/main/java/com/qxueyou/scc/controller/IndexController.java
+++ b/src/main/java/com/qxueyou/scc/controller/IndexController.java
@@ -9,6 +9,8 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import com.qxueyou.scc.admin.teacher.service.ITeacherService;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
@@ -35,7 +37,8 @@
@Autowired
IClassService classService;
-
+ @Autowired
+ private ITeacherService teacherService;
@Value("${server.context-index}")
private String WEB_INDEX;
@@ -49,14 +52,21 @@
// request.getSession().invalidate();
// ClientUtils.isAdmin()=true;
- String teacherId = ClientUtils.isAdmin()?null:ClientUtils.getUserId();
-
- List<ClsClass> clsLst = classService.getClassLst("",teacherId, 2000, 1, 1);
-
+ //鍒ゆ柇鏄惁鏄暀甯�
+ String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
+
+ List<ClsClass> clsLst = new ArrayList<>();
+ if (StringUtils.isNotBlank(teacherId)) {
+ //鑾峰彇璇ヨ�佸笀涓嬪彂甯冪殑璇剧▼鐨勬墍灞炵彮绾�
+ clsLst = classService.getTeacherClassLst(teacherId);
+ }else{
+ //绠$悊鍛樻煡璇㈡墍鏈夌彮绾�
+ clsLst =classService.getClassLst("",teacherId, 2000, 1, 1);
+ }
List<Map<String,Object>> result = new ArrayList<Map<String,Object>>(clsLst.size()*2);
-
for(ClsClass cls:clsLst) {
- result.add(classService.getClassActivityInfo(cls.getClassId()));
+ Map<String, Object> classActivityInfo = classService.getClassActivityInfo(cls.getClassId());
+ result.add(classActivityInfo);
}
return new Result(true,null,result);
diff --git a/src/main/java/com/qxueyou/scc/exam/dao/ExamResultVDao.java b/src/main/java/com/qxueyou/scc/exam/dao/ExamResultVDao.java
index cfc4134..04a4ca9 100644
--- a/src/main/java/com/qxueyou/scc/exam/dao/ExamResultVDao.java
+++ b/src/main/java/com/qxueyou/scc/exam/dao/ExamResultVDao.java
@@ -16,5 +16,12 @@
return this.find(hql,CollectionUtils.newList(classId),ExamResultV.class);
}
+ public int getExamCount(String classId) {
+ //id.
+ String hql = "select count(distinct examId) from ExamResultV where class_Id=?";
+
+ return this.findCount(hql, CollectionUtils.newList(classId));
+ }
+
}
diff --git a/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java b/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java
index 28f4dfd..4fdccd4 100644
--- a/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java
+++ b/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java
@@ -1,6 +1,7 @@
package com.qxueyou.scc.operation.topic.action;
+import com.qxueyou.scc.Sensitive.SensitiveFilterService;
import com.qxueyou.scc.Sensitive.SensitiveWordFilter;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -355,9 +356,11 @@
@GetMapping(value = "addComment")
public Result addComment(String content, String commentObjectId, String commentParentId, String commentedId,
String commentedName) {
- SensitiveWordFilter.loadWordFromFile("D:\\宸ヤ綔\\SensitiveWord\\SensitiveWordList.txt");
- String filter = SensitiveWordFilter.Filter(content);
- return topicService.addComment(filter, commentObjectId, commentParentId, commentedId, commentedName);
+// SensitiveWordFilter.loadWordFromFile("C:\\Users\\Administrator\\Desktop\\SensitiveWordList.txt");
+// String filter = SensitiveWordFilter.Filter(content);
+ SensitiveFilterService filter = SensitiveFilterService.getInstance();
+ String filterContentHou = filter.replaceSensitiveWord(content, 1, "*");
+ return topicService.addComment(filterContentHou, commentObjectId, commentParentId, commentedId, commentedName);
}
/**
diff --git a/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java b/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java
index f1f6b86..36f0386 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java
@@ -109,4 +109,5 @@
StuStudent getStudentByNo(String studentNo);
+ StuStudent getStudentDetails(String userId);
}
diff --git a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
index b8f5223..cebc39c 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
@@ -358,6 +358,12 @@
public StuStudent getStudentByNo(String studentNo) {
return this.findUnique("from StuStudent where studentNo=? ", CollectionUtils.newList(studentNo), StuStudent.class);
}
+
+ @Override
+ public StuStudent getStudentDetails(String userId) {
+ return this.findUnique("from StuStudent where deleteFlag is false and userId=? ", CollectionUtils.newList(userId), StuStudent.class);
+ }
+
@Override
public List<StuStudent> getStudentByclassId(String classId) {
QStuStudent qClassStudent=QStuStudent.stuStudent;
diff --git a/src/main/resources/SensitiveWordList.txt b/src/main/resources/SensitiveWordList.txt
index 9e19b1d..5b4bf4d 100644
--- a/src/main/resources/SensitiveWordList.txt
+++ b/src/main/resources/SensitiveWordList.txt
@@ -14594,3 +14594,4 @@
涓嬩笁鐖�
瀹㈡埛鏈嶅姟
鍏嶈垂灏忔帆铏�
+鍌婚��
\ No newline at end of file
--
Gitblit v1.8.0