From 1d64159d5f5210a01a08e83988202e23dd8599b9 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Fri, 21 Jun 2024 16:33:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=AB=98=E7=BA=A7=E6=A3=80=E7=B4=A2):=20?= =?UTF-8?q?=E5=85=A8=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsCommonServiceImpl.java | 6 +++- .../controller/LawsHomeSearchController.java | 4 +-- .../impl/LawsHomeSearchServiceImpl.java | 31 ++++++++++++++++--- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 78e91ced..9e234959 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -15,7 +15,6 @@ import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; -import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.IntekeyUtils; import com.jero.common.util.MessageUtils; import com.jero.common.util.MinioUtil; @@ -251,6 +250,11 @@ public class LawsCommonServiceImpl implements ILawsCommonService { LawsTag createByTag = new LawsTag(); createByTag.setDbFieldName(FieldCommon.CREATE_BY); fieldListSelect.add(createByTag); + // 加一个create_time字段 + LawsTag createTimeTag = new LawsTag(); + createTimeTag.setDbFieldName("create_time"); + fieldListSelect.add(createTimeTag); + // 获取分页参数 Integer pageNo = Integer.valueOf(parameterMap.get("pageNo").toString()); Integer pageSize = Integer.valueOf(parameterMap.get("pageSize").toString()); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java b/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java index 89033fa7..9cba37f2 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java @@ -81,8 +81,8 @@ public class LawsHomeSearchController { @AutoLog(value = "首页-高级检索(全部)", operateType = CommonConstant.OPERATE_TYPE_1) @ApiOperation(value="首页-高级检索(全部)", notes="首页-高级检索(全部)") - @GetMapping(value = "/getAdvancedSearchAll") - public Result>> getAdvancedSearchAll(Map parameterMap) { + @PostMapping(value = "/getAdvancedSearchAll") + public Result>> getAdvancedSearchAll(@RequestBody Map parameterMap) { return lawsHomeSearchService.getAdvancedSearchAll(parameterMap); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java index 9ee52697..3ba7d3d4 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java @@ -71,6 +71,7 @@ import javax.annotation.Resource; import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.net.URLEncoder; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.CompletableFuture; @@ -1326,6 +1327,8 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { } private ModelAndView exportExcelByAll(Map parameterMap) { + parameterMap.put("pageNo", "1"); + parameterMap.put("pageSize", "-1"); Result>> advancedSearchAll = getAdvancedSearchAll(parameterMap); List lawsHomeAdvancedSearchExportExcelVOS = JSON.parseArray(JSON.toJSONString(advancedSearchAll.getResult().getRecords()), @@ -1445,6 +1448,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { @Override public Result>> getAdvancedSearchAll(Map parameterMap) { + Map originalParameterMap = new HashMap<>(parameterMap); Map parameterMapByEnterprise = new HashMap<>(parameterMap); boolean isEnterprise = true; // 外来标准法规 @@ -1488,20 +1492,37 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { // 汇总数据 List maps1 = JSON.parseArray(JSON.toJSONString(commonPageNoPermissionsResult.getResult().getRecords()), Map.class); + for (Map map : maps1) { + map.put("resource_type", LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD); + } List maps2 = JSON.parseArray( JSON.toJSONString(commonPageNoPermissionsResultByEnterpriseResult.getResult().getRecords()), Map.class); + for (Map map : maps2) { + map.put("resource_type", LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD); + } maps1.addAll(maps2); // 排序 - Comparator createTime = Comparator.comparing(map -> (Date) map.get("create_time")); + Comparator createTime = Comparator.comparing(map -> { + String createTimeStr = String.valueOf(map.get("create_time")); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + return sdf.parse(createTimeStr); + } catch (ParseException e) { + throw new RuntimeException(e); + } + }); Comparator reversed = createTime.reversed(); maps1.sort(reversed); // 手动分页 - maps1 = maps1.stream() - .skip((Math.max(1, (Long) parameterMap.get("pageNo")) - 1) * (Long) parameterMap.get("pageSize")) - .limit((Long) parameterMap.get("pageSize")) - .collect(Collectors.toList()); + if (!"-1".equals(originalParameterMap.get("pageSize"))){ + maps1 = maps1.stream() + .skip((Math.max(1, Long.parseLong((String) originalParameterMap.get("pageNo"))) - 1) * Long.parseLong((String) originalParameterMap.get("pageSize"))) + .limit(Long.parseLong((String) originalParameterMap.get("pageSize"))) + .collect(Collectors.toList()); + + } commonPageNoPermissionsResult.getResult().setRecords((List>) (List)maps1); commonPageNoPermissionsResult.getResult().setTotal(maps1.size()); }