Parcourir la source

Merge branch 'Develop' of http://git.mooctest.net/summer/main-site into feature-checkstyle

wyf il y a 5 ans
Parent
commit
29a5970d6c

+ 3 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/common/aspect/LogAspect.java

@@ -36,8 +36,10 @@ public class LogAspect {
     @Pointcut("execution(public * cn.iselab.mooctest.site.web.SessionCounter.*(..))")
     private void sessionCounter(){}
 
+    @Pointcut("execution(public * cn.iselab.mooctest.site.web.ctrl.MessageController.*(..)))")
+    private void messageController(){}
 
-    @Around("logicPointCut() && !wrapperPointCut() && !sessionCounter()")
+    @Around("logicPointCut() && !wrapperPointCut() && !sessionCounter() && !messageController()")
     public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
         beforeMethod(joinPoint);
         Stopwatch stopwatch = Stopwatch.createStarted();

+ 4 - 8
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/CaughtNodeServiceImpl.java

@@ -96,19 +96,15 @@ public class CaughtNodeServiceImpl implements CaughtNodeService {
 
         RestTemplate rt = new RestTemplate();
 
-        String url = MongoAPIUtils.generatePagingUrl(mongoDBConfig.getDb(),
+        String url = MongoAPIUtils.count(mongoDBConfig.getDb(),
                 mongoDBConfig.getCaughtNodeCollection());
 
-        String sortBy = "DESC";
-        ResponseEntity<JSONObject> dto = rt.exchange(url, HttpMethod.GET, entity, JSONObject.class,
-                activePage, 1, sortBy);
+        ResponseEntity<JSONObject> dto = rt.exchange(url, HttpMethod.GET, entity, JSONObject.class);
 
-        if (dto.getBody().getJSONObject("_embedded").isNullObject() || dto.getBody().getJSONObject("_embedded").isEmpty()) {
+        if (dto == null || dto.getBody() == null || !dto.getBody().containsKey("_size")) {
             return 0L;
         }
-        PageData<CaughtNodeDTO> pageData = new PageData<>(dto.getBody(), activePage);
-        long totalElements = pageData.getTotalElements();
-        return totalElements;
+        return dto.getBody().getLong("_size");
     }
 
     private CaughtNodeDTO extractCaughtNodeData(ResponseEntity<JSONObject> dto) {

+ 2 - 2
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/util/mongodb/MongoAPIUtils.java

@@ -45,8 +45,8 @@ public class MongoAPIUtils {
         return generateFilterUrl(dbName, collectionName) + "&count&hal=f&np&page={activePage}&pagesize={pageSize}&sort={sortBy}";
     }
 
-    public static String generatePagingUrl(String dbName, String collectionName) {
-        return generateCommonUrl(dbName, collectionName) + "?&count&hal=f&np&page={activePage}&pagesize={pageSize}&sort={sortBy}";
+    public static String count(String dbName, String collectionName) {
+        return generateCommonUrl(dbName, collectionName) + "?&count=true";
     }
 
     public static String generateAggrUrl(String dbName, String collectionName, String Aggr) {

+ 4 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/BaseWrapper.java

@@ -22,10 +22,14 @@ public abstract class BaseWrapper<VO, DATA> {
     public abstract DATA unwrap(VO data);
 
     public List<VO> wrap(List<DATA> data) {
+        if (data == null)
+            return null;
         return data.stream().map(this::wrap).collect(Collectors.toList());
     }
 
     public Page<VO> wrap(Page<DATA> data) {
+        if (data == null)
+            return null;
         Page<VO> page = new PageImpl<VO>(wrap(data.getContent()),
                 new PageRequest(data.getNumber(), data.getSize()), data.getTotalElements());
         return page;

+ 27 - 0
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/web/data/wrapper/BaseWrapperTest.java

@@ -0,0 +1,27 @@
+package cn.iselab.mooctest.site.web.data.wrapper;
+
+import org.junit.Test;
+import org.springframework.data.domain.Page;
+
+import java.util.List;
+
+import static org.junit.Assert.*;
+
+/**
+ * @author: Diors.Po
+ * @Email: 171256175@qq.com
+ * @date 2019-11-12 15:15
+ */
+public class BaseWrapperTest {
+
+    BaseWrapper baseWrapper;
+
+    @Test
+    public void caseBlockWrapperTest() {
+        baseWrapper = new CaseBlockVOWrapper();
+        Page wrap = baseWrapper.wrap((Page) null);
+        List wrap1 = baseWrapper.wrap((List) null);
+        assertNull(wrap);
+        assertNull(wrap1);
+    }
+}