diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/SearchCenterController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/SearchCenterController.java new file mode 100644 index 000000000..e9ca79ce8 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/SearchCenterController.java @@ -0,0 +1,31 @@ +package com.jero.modules.phone.controller; + +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.modules.phone.service.ISearchCenterService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@Api(tags = "手机端-搜索中心") +@RestController +@RequestMapping("/phone/search") +@Slf4j +public class SearchCenterController { + + @Autowired + private ISearchCenterService searchCenterService; + + @AutoLog(value = "手机端-搜索-获取数据总数") + @ApiOperation(value = "手机端-搜索-获取数据总数", notes = "手机端-搜索-获取数据总数") + @GetMapping(value = "/getDataCount") + public Result> getDataCount() { + return this.searchCenterService.getDataCount(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/ISearchCenterService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/ISearchCenterService.java new file mode 100644 index 000000000..87b53cd4e --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/ISearchCenterService.java @@ -0,0 +1,10 @@ +package com.jero.modules.phone.service; + +import com.jero.common.api.vo.Result; + +import java.util.Map; + +public interface ISearchCenterService { + + Result> getDataCount(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/SearchCenterServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/SearchCenterServiceImpl.java new file mode 100644 index 000000000..4a33a1afb --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/SearchCenterServiceImpl.java @@ -0,0 +1,74 @@ +package com.jero.modules.phone.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.api.vo.Result; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.system.vo.LoginUser; +import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.phone.service.ISearchCenterService; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; +import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOService; +import com.jero.modules.report.entity.LawsMonthlyReportManageEO; +import com.jero.modules.report.service.ILawsMonthlyReportManageEOService; +import com.jero.modules.system.service.ISysUserService; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; + +@Component +public class SearchCenterServiceImpl implements ISearchCenterService { + + @Autowired + private IBussDocumentLibraryEOService bussDocumentLibraryEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService; + @Autowired + private ILawsMonthlyReportManageEOService lawsMonthlyReportManageEOService; + + @Override + public Result> getDataCount() { + Map result = new HashMap<>(); + Map params = new HashMap<>(); + params.put("cut", CutEnum.CN.getValue()); + params.put("pageNo", "1"); + params.put("pageSize", "10"); + IPage documentLibraryInfoPage = this.bussDocumentLibraryEOService.getInfoPage(params); + long documentLibraryCount = documentLibraryInfoPage.getTotal(); + + int pageNo = 1; + int pageSize = 10; + ProblemKnowledgeBaseEO problemKnowledgeBaseEO = new ProblemKnowledgeBaseEO(); + boolean administrator = this.sysUserService.isAdministrator(); + //如果当前登录人是超级管理员角色,进入到管理发布页面时,查询所有的数据,其它用户只能查询自己创建的数据。 + if (administrator) { + problemKnowledgeBaseEO.setCreateBy(null); + } else { + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + problemKnowledgeBaseEO.setCreateBy(currentUser.getUsername()); + } + QueryWrapper pkbQueryWrap = new QueryWrapper<>(); + pkbQueryWrap.lambda().eq(ProblemKnowledgeBaseEO::getReleaseStatus, ReleaseStatusEnum.HAVE_RELEASED.getValue()); + this.problemKnowledgeBaseEOService.createQueryPermission(pkbQueryWrap, problemKnowledgeBaseEO); + Page pkbPage = new Page(pageNo, pageSize); + IPage problemKnowledgeBaseInfoPage = this.problemKnowledgeBaseEOService.page(pkbPage, pkbQueryWrap); + long problemKnowledgeBaseCount = problemKnowledgeBaseInfoPage.getTotal(); + + QueryWrapper lmrmQueryWrap = new QueryWrapper<>(); + Page lmrmPage = new Page(pageNo, pageSize); + IPage lawsMonthlyReportManageInfoPage = this.lawsMonthlyReportManageEOService.getPageInfo(lmrmPage, lmrmQueryWrap); + long lawsMonthlyReportManageCount = lawsMonthlyReportManageInfoPage.getTotal(); + + result.put("documentLibraryCount", documentLibraryCount); + result.put("problemKnowledgeBaseCount", problemKnowledgeBaseCount); + result.put("lawsMonthlyReportManageCount", lawsMonthlyReportManageCount); + return Result.OK(result); + } +}