手机端-搜索中心-获取数据总数接口。

This commit is contained in:
wangzhijiang
2023-06-07 14:46:59 +08:00
parent 6f9e74d231
commit 8f8569ed13
3 changed files with 115 additions and 0 deletions
@@ -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<Map<String, Object>> getDataCount() {
return this.searchCenterService.getDataCount();
}
}
@@ -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<Map<String, Object>> getDataCount();
}
@@ -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<Map<String, Object>> getDataCount() {
Map<String, Object> result = new HashMap<>();
Map<String, Object> 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<ProblemKnowledgeBaseEO> pkbQueryWrap = new QueryWrapper<>();
pkbQueryWrap.lambda().eq(ProblemKnowledgeBaseEO::getReleaseStatus, ReleaseStatusEnum.HAVE_RELEASED.getValue());
this.problemKnowledgeBaseEOService.createQueryPermission(pkbQueryWrap, problemKnowledgeBaseEO);
Page<ProblemKnowledgeBaseEO> pkbPage = new Page<ProblemKnowledgeBaseEO>(pageNo, pageSize);
IPage<ProblemKnowledgeBaseEO> problemKnowledgeBaseInfoPage = this.problemKnowledgeBaseEOService.page(pkbPage, pkbQueryWrap);
long problemKnowledgeBaseCount = problemKnowledgeBaseInfoPage.getTotal();
QueryWrapper<LawsMonthlyReportManageEO> lmrmQueryWrap = new QueryWrapper<>();
Page<LawsMonthlyReportManageEO> lmrmPage = new Page<LawsMonthlyReportManageEO>(pageNo, pageSize);
IPage<LawsMonthlyReportManageEO> 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);
}
}