|
@@ -1,19 +1,30 @@
|
|
|
package com.mooctest.crowd.site.service.impl;
|
|
|
|
|
|
import com.mooctest.crowd.domain.repository.*;
|
|
|
+import com.mooctest.crowd.site.constants.CommonConstant;
|
|
|
+import com.mooctest.crowd.site.data.ColumnFilter;
|
|
|
import com.mooctest.crowd.site.data.dto.IndexDTO;
|
|
|
import com.mooctest.crowd.site.data.dto.IndexInfoDTO;
|
|
|
import com.mooctest.crowd.site.data.dto.IndexPageDTO;
|
|
|
import com.mooctest.crowd.site.data.dto.MyCrowdDTO;
|
|
|
+import com.mooctest.crowd.site.data.enums.ColumnFilterType;
|
|
|
+import com.mooctest.crowd.site.data.response.ResponseVO;
|
|
|
+import com.mooctest.crowd.site.data.response.ServerCode;
|
|
|
import com.mooctest.crowd.site.data.vo.*;
|
|
|
import com.mooctest.crowd.site.mediator.ViewMediator;
|
|
|
import com.mooctest.crowd.site.service.CommonService;
|
|
|
+import com.mooctest.crowd.site.util.DataUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
+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;
|
|
|
|
|
@@ -116,4 +127,27 @@ public class CommonServiceImpl implements CommonService {
|
|
|
public ResourceVO getResourceDetailed(String code) {
|
|
|
return viewMediator.getResourceDetailed(code);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseVO findByNameLike(SearchConditionVO searchConditionVO) {
|
|
|
+ Pageable pageable = this.getPageable(searchConditionVO);
|
|
|
+ String keyword = searchConditionVO.getKeyword();
|
|
|
+ List<ResourceVO> resourceList=viewMediator.getSearchResource(keyword);
|
|
|
+ Page<ResourceVO> resourcePage = DataUtils.listToPage(resourceList, pageable);
|
|
|
+ return new ResponseVO<>(ServerCode.SUCCESS, resourcePage);
|
|
|
+ }
|
|
|
+
|
|
|
+ Pageable getPageable(SearchConditionVO searchConditionVO) {
|
|
|
+ int activePage = searchConditionVO.getActivePage() == 0 ? 1 : searchConditionVO.getActivePage();
|
|
|
+ Sort sort = new Sort(Sort.Direction.DESC, "id");
|
|
|
+ if (searchConditionVO.getColumnFilters() != null) {
|
|
|
+ for (ColumnFilter columnFilter : searchConditionVO.getColumnFilters()) {
|
|
|
+ if (ColumnFilterType.SORT.getName().equals(columnFilter.getType()) && columnFilter.getValue() != null) {
|
|
|
+ sort = new Sort(Sort.Direction.fromString(columnFilter.getValue()), columnFilter.getField());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return new PageRequest(activePage - 1, CommonConstant.SQUARE_ROWS_ON_PAGE, sort);
|
|
|
+ }
|
|
|
}
|