mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-08 18:36:51 +08:00
@@ -2,7 +2,6 @@ package com.xboe.module.boecase.api;
|
|||||||
|
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -32,8 +31,6 @@ import com.xboe.common.Pagination;
|
|||||||
import com.xboe.common.utils.StringUtil;
|
import com.xboe.common.utils.StringUtil;
|
||||||
import com.xboe.core.JsonResponse;
|
import com.xboe.core.JsonResponse;
|
||||||
import com.xboe.core.api.ApiBaseController;
|
import com.xboe.core.api.ApiBaseController;
|
||||||
import com.xboe.core.cache.IXaskCache;
|
|
||||||
import com.xboe.core.cache.XaskCacheProvider;
|
|
||||||
import com.xboe.core.log.AutoLog;
|
import com.xboe.core.log.AutoLog;
|
||||||
import com.xboe.module.boecase.entity.Cases;
|
import com.xboe.module.boecase.entity.Cases;
|
||||||
import com.xboe.module.boecase.service.ICasesService;
|
import com.xboe.module.boecase.service.ICasesService;
|
||||||
@@ -41,14 +38,12 @@ import com.xboe.module.boecase.service.ICasesService;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例
|
* 案例
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@@ -70,26 +65,27 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 用于后台管理
|
* 用于后台管理
|
||||||
|
*
|
||||||
* @param pager
|
* @param pager
|
||||||
* @param caseVo
|
* @param caseVo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/manage")
|
@PostMapping("/manage")
|
||||||
public JsonResponse<PageList<Cases>> manage(Pagination pager, CaseVo caseVo){
|
public JsonResponse<PageList<Cases>> manage(Pagination pager, CaseVo caseVo) {
|
||||||
PageList<Cases> views = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
PageList<Cases> views = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
||||||
if(views!=null){
|
if (views != null) {
|
||||||
if(views.getList()!=null && !views.getList().isEmpty()){
|
if (views.getList() != null && !views.getList().isEmpty()) {
|
||||||
for (Cases c:views.getList()) {
|
for (Cases c : views.getList()) {
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
|
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
|
||||||
if(caseId!=null && !caseId.isEmpty()){
|
if (caseId != null && !caseId.isEmpty()) {
|
||||||
for (CasesMajorType cm:caseId) {
|
for (CasesMajorType cm : caseId) {
|
||||||
stringBuffer.append(cm.getMajorId());
|
stringBuffer.append(cm.getMajorId());
|
||||||
stringBuffer.append(",");
|
stringBuffer.append(",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(stringBuffer.length()>0){
|
if (stringBuffer.length() > 0) {
|
||||||
stringBuffer.deleteCharAt(stringBuffer.length()-1);
|
stringBuffer.deleteCharAt(stringBuffer.length() - 1);
|
||||||
c.setMajorType(stringBuffer.toString());
|
c.setMajorType(stringBuffer.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,26 +95,26 @@ public class CasesApi extends ApiBaseController {
|
|||||||
return success(views);
|
return success(views);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例分页搜索查询 orders 状态 1代表时间最近,2代表热度最高
|
* 案例分页搜索查询 orders 状态 1代表时间最近,2代表热度最高
|
||||||
* 是否推荐
|
* 是否推荐
|
||||||
* */
|
*/
|
||||||
@PostMapping("/queryList")
|
@PostMapping("/queryList")
|
||||||
public JsonResponse<PageList<Cases>> queryCaseBre(Pagination pager, CaseVo caseVo){
|
public JsonResponse<PageList<Cases>> queryCaseBre(Pagination pager, CaseVo caseVo) {
|
||||||
PageList<Cases> views = casesService.queryPageCases(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
PageList<Cases> views = casesService.queryPageCases(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
||||||
if(views!=null){
|
if (views != null) {
|
||||||
if(views.getList()!=null && !views.getList().isEmpty()){
|
if (views.getList() != null && !views.getList().isEmpty()) {
|
||||||
for (Cases c:views.getList()) {
|
for (Cases c : views.getList()) {
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
|
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
|
||||||
if(caseId!=null && !caseId.isEmpty()){
|
if (caseId != null && !caseId.isEmpty()) {
|
||||||
for (CasesMajorType cm:caseId) {
|
for (CasesMajorType cm : caseId) {
|
||||||
stringBuffer.append(cm.getMajorId());
|
stringBuffer.append(cm.getMajorId());
|
||||||
stringBuffer.append(",");
|
stringBuffer.append(",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(stringBuffer.length()>0){
|
if (stringBuffer.length() > 0) {
|
||||||
stringBuffer.deleteCharAt(stringBuffer.length()-1);
|
stringBuffer.deleteCharAt(stringBuffer.length() - 1);
|
||||||
c.setMajorType(stringBuffer.toString());
|
c.setMajorType(stringBuffer.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,34 +125,45 @@ public class CasesApi extends ApiBaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/queryListV2")
|
@PostMapping("/queryListV2")
|
||||||
public JsonResponse<PageList<Cases>> queryCaseBreV2(@Validated @RequestBody CasePageVo req){
|
public JsonResponse<PageList<Cases>> queryCaseBreV2(@Validated @RequestBody CasePageVo req) {
|
||||||
String type = req.getType();
|
String type = req.getType();
|
||||||
PageList<Cases> views;
|
PageList<Cases> subViews1;
|
||||||
|
PageList<Cases> subViews2;
|
||||||
|
PageList<Cases> views = null;
|
||||||
req.setUserId(getCurrent().getAccountId());
|
req.setUserId(getCurrent().getAccountId());
|
||||||
if (type.equals("recommend")) {
|
if (StringUtils.isNotEmpty(type)) {
|
||||||
log.info("queryListV2 recommend userId:{}", getCurrent().getAccountId());
|
if ("recommend".equals(type)) {
|
||||||
views = casesService.queryRecommendPageCasesV2(req);
|
views = casesService.queryRecommendPageCasesV2(req);
|
||||||
|
} else {
|
||||||
|
views = casesService.queryPageCasesV2(req);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
views = casesService.queryPageCasesV2(req);
|
PageDto pageDto = new PageDto();
|
||||||
|
pageDto.setPageIndex(req.getPageIndex());
|
||||||
|
pageDto.setPageSize(req.getPageSize());
|
||||||
|
req.setPageSize(1000000);
|
||||||
|
req.setPageIndex(1);
|
||||||
|
subViews1 = casesService.queryRecommendPageCasesV2(req);
|
||||||
|
subViews2 = casesService.queryPageCasesV2(req);
|
||||||
|
views = merge(subViews1, subViews2, pageDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(views!=null){
|
if (views != null) {
|
||||||
List<Cases> cases = views.getList();
|
List<Cases> cases = views.getList();
|
||||||
if(CollUtil.isNotEmpty(cases)){
|
if (CollUtil.isNotEmpty(cases)) {
|
||||||
for (Cases c: cases) {
|
for (Cases c : cases) {
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
|
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
|
||||||
if(caseId!=null && !caseId.isEmpty()){
|
if (caseId != null && !caseId.isEmpty()) {
|
||||||
for (CasesMajorType cm:caseId) {
|
for (CasesMajorType cm : caseId) {
|
||||||
stringBuffer.append(cm.getMajorId());
|
stringBuffer.append(cm.getMajorId());
|
||||||
stringBuffer.append(",");
|
stringBuffer.append(",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(stringBuffer.length()>0){
|
if (stringBuffer.length() > 0) {
|
||||||
stringBuffer.deleteCharAt(stringBuffer.length()-1);
|
stringBuffer.deleteCharAt(stringBuffer.length() - 1);
|
||||||
c.setMajorType(stringBuffer.toString());
|
c.setMajorType(stringBuffer.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -168,6 +175,24 @@ public class CasesApi extends ApiBaseController {
|
|||||||
return success(views);
|
return success(views);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static PageList<Cases> merge(PageList<Cases> pageList1, PageList<Cases> pageList2, PageDto pageDto) {
|
||||||
|
List<Cases> mergedCaseList = new ArrayList<>();
|
||||||
|
mergedCaseList.addAll(pageList1.getList());
|
||||||
|
mergedCaseList.addAll(pageList2.getList());
|
||||||
|
List<Cases> pageCaseList = mergedCaseList.stream()
|
||||||
|
.skip((long) (pageDto.getPageIndex() - 1) * pageDto.getPageSize())
|
||||||
|
.limit(pageDto.getPageSize())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
int totalCount = pageList1.getCount() + pageList2.getCount();
|
||||||
|
int pageSize = pageDto.getPageSize();
|
||||||
|
|
||||||
|
PageList<Cases> mergePageList = new PageList<>();
|
||||||
|
mergePageList.setList(pageCaseList);
|
||||||
|
mergePageList.setCount(totalCount);
|
||||||
|
mergePageList.setPageSize(pageSize);
|
||||||
|
return mergePageList;
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/caseYears")
|
@PostMapping("/caseYears")
|
||||||
public JsonResponse<List<String>> caseYears() {
|
public JsonResponse<List<String>> caseYears() {
|
||||||
List<String> result = casesService.getCaseYears();
|
List<String> result = casesService.getCaseYears();
|
||||||
@@ -176,27 +201,27 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例分页搜索 是否置顶
|
* 案例分页搜索 是否置顶
|
||||||
* */
|
*/
|
||||||
@PostMapping("/isTopList")
|
@PostMapping("/isTopList")
|
||||||
public JsonResponse<PageList<Cases>> queryCaseTop(Pagination pager, CaseVo caseVo){
|
public JsonResponse<PageList<Cases>> queryCaseTop(Pagination pager, CaseVo caseVo) {
|
||||||
PageList<Cases> casesPageList = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
PageList<Cases> casesPageList = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
||||||
return success(casesPageList);
|
return success(casesPageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例分页
|
* 案例分页
|
||||||
* */
|
*/
|
||||||
@PostMapping("/pagelist")
|
@PostMapping("/pagelist")
|
||||||
public JsonResponse<PageList<CasesFiledVo>> pageList(Pagination pager, CaseVo caseVo){
|
public JsonResponse<PageList<CasesFiledVo>> pageList(Pagination pager, CaseVo caseVo) {
|
||||||
PageList<CasesFiledVo> pageList = casesService.queryList(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
PageList<CasesFiledVo> pageList = casesService.queryList(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
||||||
return success(pageList);
|
return success(pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的案例
|
* 我的案例
|
||||||
* */
|
*/
|
||||||
@PostMapping("/mylist")
|
@PostMapping("/mylist")
|
||||||
public JsonResponse<PageList<Cases>> mylist(Pagination pager,CaseVo caseVo){
|
public JsonResponse<PageList<Cases>> mylist(Pagination pager, CaseVo caseVo) {
|
||||||
String aid = this.getCurrent().getAccountId();
|
String aid = this.getCurrent().getAccountId();
|
||||||
PageList<Cases> casesPageList = casesService.myList(pager.getPageIndex(), pager.getPageSize(), caseVo, aid);
|
PageList<Cases> casesPageList = casesService.myList(pager.getPageIndex(), pager.getPageSize(), caseVo, aid);
|
||||||
return success(casesPageList);
|
return success(casesPageList);
|
||||||
@@ -204,28 +229,28 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出案例数据
|
* 导出案例数据
|
||||||
* */
|
*/
|
||||||
@PostMapping("/exportCase")
|
@PostMapping("/exportCase")
|
||||||
public void exportCase(Pagination pager, CaseVo caseVo,HttpServletResponse response){
|
public void exportCase(Pagination pager, CaseVo caseVo, HttpServletResponse response) {
|
||||||
OutputStream OutputStream=null;
|
OutputStream OutputStream = null;
|
||||||
try {
|
try {
|
||||||
OutputStream = response.getOutputStream();
|
OutputStream = response.getOutputStream();
|
||||||
LinkedHashMap<String,String> map = new LinkedHashMap<>();
|
LinkedHashMap<String, String> map = new LinkedHashMap<>();
|
||||||
map.put("标题","title");
|
map.put("标题", "title");
|
||||||
map.put("密级","confidentialityLevel");
|
map.put("密级", "confidentialityLevel");
|
||||||
map.put("浏览量","views");
|
map.put("浏览量", "views");
|
||||||
map.put("推荐量","recommends");
|
map.put("推荐量", "recommends");
|
||||||
map.put("引用量","cites");
|
map.put("引用量", "cites");
|
||||||
map.put("点赞量","praises");
|
map.put("点赞量", "praises");
|
||||||
map.put("评论量","comments");
|
map.put("评论量", "comments");
|
||||||
map.put("分享量","shares");
|
map.put("分享量", "shares");
|
||||||
map.put("收藏量","favorites");
|
map.put("收藏量", "favorites");
|
||||||
map.put("导出时间","exportDate");
|
map.put("导出时间", "exportDate");
|
||||||
map.put("作者","authorName");
|
map.put("作者", "authorName");
|
||||||
List<Cases> list = casesService.exportCase(caseVo);
|
List<Cases> list = casesService.exportCase(caseVo);
|
||||||
List<CaseExportVo> exportVos = new ArrayList<>();
|
List<CaseExportVo> exportVos = new ArrayList<>();
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
for (Cases c:list){
|
for (Cases c : list) {
|
||||||
CaseExportVo caseExportVo = new CaseExportVo();
|
CaseExportVo caseExportVo = new CaseExportVo();
|
||||||
caseExportVo.setTitle(c.getTitle());
|
caseExportVo.setTitle(c.getTitle());
|
||||||
caseExportVo.setConfidentialityLevel(c.getConfidentialityLevel());
|
caseExportVo.setConfidentialityLevel(c.getConfidentialityLevel());
|
||||||
@@ -245,86 +270,86 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
response.setHeader("Content-disposition", "attachment;filename=cases.xls");
|
response.setHeader("Content-disposition", "attachment;filename=cases.xls");
|
||||||
ExportsExcelSenderUtil.export(map,exportVos, OutputStream,"yyyy-MM-dd HH:mm:ss");
|
ExportsExcelSenderUtil.export(map, exportVos, OutputStream, "yyyy-MM-dd HH:mm:ss");
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
log.error("导出失败",e.getMessage());
|
log.error("导出失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出案例标题数据
|
* 导出案例标题数据
|
||||||
* */
|
*/
|
||||||
@PostMapping("/exportCaseTitle")
|
@PostMapping("/exportCaseTitle")
|
||||||
public void exportCaseTitle(CaseVo caseVo,HttpServletResponse response){
|
public void exportCaseTitle(CaseVo caseVo, HttpServletResponse response) {
|
||||||
OutputStream outputStream;
|
OutputStream outputStream;
|
||||||
try {
|
try {
|
||||||
outputStream = response.getOutputStream();
|
outputStream = response.getOutputStream();
|
||||||
LinkedHashMap<String,String> map = new LinkedHashMap<>();
|
LinkedHashMap<String, String> map = new LinkedHashMap<>();
|
||||||
// 标题,摘要,案主姓名,案主工号,案主所在组织全路径,同步时间,查看次数。
|
// 标题,摘要,案主姓名,案主工号,案主所在组织全路径,同步时间,查看次数。
|
||||||
map.put("标题","title");
|
map.put("标题", "title");
|
||||||
map.put("摘要","summary");
|
map.put("摘要", "summary");
|
||||||
map.put("案主姓名","authorName");
|
map.put("案主姓名", "authorName");
|
||||||
map.put("案主工号","userNo");
|
map.put("案主工号", "userNo");
|
||||||
map.put("案主所在组织全路径","department");
|
map.put("案主所在组织全路径", "department");
|
||||||
map.put("同步时间","exportDate");
|
map.put("同步时间", "exportDate");
|
||||||
map.put("查看次数","views");
|
map.put("查看次数", "views");
|
||||||
List<Cases> list = casesService.managerCaseTitleList(caseVo);
|
List<Cases> list = casesService.managerCaseTitleList(caseVo);
|
||||||
List<CaseExportVo> exportVos = new ArrayList<>();
|
List<CaseExportVo> exportVos = new ArrayList<>();
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
for (Cases c:list){
|
for (Cases c : list) {
|
||||||
CaseExportVo caseExportVo = new CaseExportVo();
|
CaseExportVo caseExportVo = new CaseExportVo();
|
||||||
caseExportVo.setTitle(c.getTitle());
|
caseExportVo.setTitle(c.getTitle());
|
||||||
caseExportVo.setSummary(c.getSummary()==null?"":c.getSummary());
|
caseExportVo.setSummary(c.getSummary() == null ? "" : c.getSummary());
|
||||||
caseExportVo.setAuthorName(c.getAuthorName()==null?"":c.getAuthorName());
|
caseExportVo.setAuthorName(c.getAuthorName() == null ? "" : c.getAuthorName());
|
||||||
User user = userDao.findOne(FieldFilters.eq("id", c.getAuthorId()));
|
User user = userDao.findOne(FieldFilters.eq("id", c.getAuthorId()));
|
||||||
caseExportVo.setUserNo(user.getUserNo()==null?"":user.getUserNo());
|
caseExportVo.setUserNo(user.getUserNo() == null ? "" : user.getUserNo());
|
||||||
caseExportVo.setDepartment(c.getDepartment()==null?"":c.getDepartment());
|
caseExportVo.setDepartment(c.getDepartment() == null ? "" : c.getDepartment());
|
||||||
caseExportVo.setExportDate(now);
|
caseExportVo.setExportDate(now);
|
||||||
caseExportVo.setViews(c.getViews()==null? 0 :c.getViews());
|
caseExportVo.setViews(c.getViews() == null ? 0 : c.getViews());
|
||||||
exportVos.add(caseExportVo);
|
exportVos.add(caseExportVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
String current = LocalDateTimeUtil.format(now,"yyyyMMddHHmmss");
|
String current = LocalDateTimeUtil.format(now, "yyyyMMddHHmmss");
|
||||||
response.setHeader("Content-disposition", "attachment;filename=cases-title-"+current+".xls");
|
response.setHeader("Content-disposition", "attachment;filename=cases-title-" + current + ".xls");
|
||||||
ExportsExcelSenderUtil.export(map,exportVos, outputStream,"yyyy-MM-dd HH:mm:ss");
|
ExportsExcelSenderUtil.export(map, exportVos, outputStream, "yyyy-MM-dd HH:mm:ss");
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
log.error("导出失败",e.getMessage());
|
log.error("导出失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出我的案例
|
* 导出我的案例
|
||||||
* */
|
*/
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(CaseVo caseVo,HttpServletResponse response){
|
public void export(CaseVo caseVo, HttpServletResponse response) {
|
||||||
String aid = this.getCurrent().getAccountId();
|
String aid = this.getCurrent().getAccountId();
|
||||||
OutputStream OutputStream=null;
|
OutputStream OutputStream = null;
|
||||||
try {
|
try {
|
||||||
OutputStream = response.getOutputStream();
|
OutputStream = response.getOutputStream();
|
||||||
LinkedHashMap<String,String> map = new LinkedHashMap<>();
|
LinkedHashMap<String, String> map = new LinkedHashMap<>();
|
||||||
map.put("案例名称","title");
|
map.put("案例名称", "title");
|
||||||
map.put("状态","status");
|
map.put("状态", "status");
|
||||||
map.put("审批完成时间","endTime");
|
map.put("审批完成时间", "endTime");
|
||||||
map.put("公开范围","caseScope");
|
map.put("公开范围", "caseScope");
|
||||||
map.put("浏览量","views");
|
map.put("浏览量", "views");
|
||||||
map.put("点赞量","praises");
|
map.put("点赞量", "praises");
|
||||||
map.put("分享量","shares");
|
map.put("分享量", "shares");
|
||||||
map.put("收藏量","favorites");
|
map.put("收藏量", "favorites");
|
||||||
List<Cases> list = casesService.myList(caseVo, aid);
|
List<Cases> list = casesService.myList(caseVo, aid);
|
||||||
List<CaseExportVo> exportVos = new ArrayList<>();
|
List<CaseExportVo> exportVos = new ArrayList<>();
|
||||||
for (Cases c:list){
|
for (Cases c : list) {
|
||||||
CaseExportVo caseExportVo = new CaseExportVo();
|
CaseExportVo caseExportVo = new CaseExportVo();
|
||||||
caseExportVo.setTitle(c.getTitle());
|
caseExportVo.setTitle(c.getTitle());
|
||||||
if(c.getStatus()!=null){
|
if (c.getStatus() != null) {
|
||||||
if(c.getStatus()==1){
|
if (c.getStatus() == 1) {
|
||||||
caseExportVo.setStatus("待审核");
|
caseExportVo.setStatus("待审核");
|
||||||
}
|
}
|
||||||
if(c.getStatus()==2){
|
if (c.getStatus() == 2) {
|
||||||
caseExportVo.setStatus("未通过");
|
caseExportVo.setStatus("未通过");
|
||||||
}
|
}
|
||||||
if(c.getStatus()==3){
|
if (c.getStatus() == 3) {
|
||||||
caseExportVo.setStatus("已通过");
|
caseExportVo.setStatus("已通过");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -339,90 +364,93 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
response.setHeader("Content-disposition", "attachment;filename=cases.xls");
|
response.setHeader("Content-disposition", "attachment;filename=cases.xls");
|
||||||
ExportsExcelSenderUtil.export(map,exportVos, OutputStream,"yyyy-MM-dd HH:mm:ss");
|
ExportsExcelSenderUtil.export(map, exportVos, OutputStream, "yyyy-MM-dd HH:mm:ss");
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
log.error("导出失败",e.getMessage());
|
log.error("导出失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置置顶
|
* 设置置顶
|
||||||
* */
|
*/
|
||||||
@GetMapping("/updateTop")
|
@GetMapping("/updateTop")
|
||||||
@AutoLog(module = "案例",action = "设置案例置顶",info = "设置案例置顶")
|
@AutoLog(module = "案例", action = "设置案例置顶", info = "设置案例置顶")
|
||||||
public JsonResponse<Boolean> updateTop(String id,Integer isTop){
|
public JsonResponse<Boolean> updateTop(String id, Integer isTop) {
|
||||||
if(StringUtil.isBlank(id)){
|
if (StringUtil.isBlank(id)) {
|
||||||
return badRequest("参数错误");
|
return badRequest("参数错误");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
casesService.updateTop(id,isTop);
|
casesService.updateTop(id, isTop);
|
||||||
return success(true);
|
return success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("设置失败",e);
|
log.error("设置失败", e);
|
||||||
return error("设置失败",e.getMessage());
|
return error("设置失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除
|
* 删除
|
||||||
* */
|
*/
|
||||||
@GetMapping("/delete")
|
@GetMapping("/delete")
|
||||||
@AutoLog(module = "案例",action = "删除案例",info = "删除案例")
|
@AutoLog(module = "案例", action = "删除案例", info = "删除案例")
|
||||||
public JsonResponse<Boolean> deleteTop(String id){
|
public JsonResponse<Boolean> deleteTop(String id) {
|
||||||
if(StringUtil.isBlank(id)){
|
if (StringUtil.isBlank(id)) {
|
||||||
return badRequest("参数错误");
|
return badRequest("参数错误");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
casesService.delete(id);
|
casesService.delete(id);
|
||||||
return success(true);
|
return success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("删除失败",e);
|
log.error("删除失败", e);
|
||||||
return error("删除失败",e.getMessage());
|
return error("删除失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例详情
|
* 案例详情
|
||||||
* */
|
*/
|
||||||
@GetMapping("/detail")
|
@GetMapping("/detail")
|
||||||
public JsonResponse<Cases> selectById(String id,Boolean addView){
|
public JsonResponse<Cases> selectById(String id, Boolean addView) {
|
||||||
if(StringUtil.isBlank(id)){
|
if (StringUtil.isBlank(id)) {
|
||||||
return badRequest("参数错误");
|
return badRequest("参数错误");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(addView==null) {
|
if (addView == null) {
|
||||||
addView=false;
|
addView = false;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Cases cases = casesService.selectById(id,addView);
|
Cases cases = casesService.selectById(id, addView);
|
||||||
|
|
||||||
if(cases.getDeleted()){
|
if (cases.getDeleted()) {
|
||||||
return badRequest("当前案例已被删除");
|
return badRequest("当前案例已被删除");
|
||||||
}
|
}
|
||||||
return success(cases);
|
return success(cases);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("查看案例失败",e);
|
log.error("查看案例失败", e);
|
||||||
return error("查看失败",e.getMessage());
|
return error("查看失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 贡献度排行榜
|
* 贡献度排行榜
|
||||||
* 每个作者发布案例的数量
|
* 每个作者发布案例的数量
|
||||||
* */
|
*/
|
||||||
@GetMapping("/usernamelist")
|
@GetMapping("/usernamelist")
|
||||||
public JsonResponse<List<UsernameDto>> usernameList(Integer pageSize){
|
public JsonResponse<List<UsernameDto>> usernameList(Integer pageSize) {
|
||||||
if(pageSize==null){
|
if (pageSize == null) {
|
||||||
pageSize=10;
|
pageSize = 10;
|
||||||
}
|
}
|
||||||
List<UsernameDto> casesPageList = casesService.usernameList(pageSize);
|
List<UsernameDto> casesPageList = casesService.usernameList(pageSize);
|
||||||
return success(casesPageList);
|
return success(casesPageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首页案例
|
* 首页案例
|
||||||
* */
|
*/
|
||||||
@PostMapping("/case-random")
|
@PostMapping("/case-random")
|
||||||
public JsonResponse<List<CaseDto>> caseRandom(Integer pageSize, String orderField, Boolean orderAsc){
|
public JsonResponse<List<CaseDto>> caseRandom(Integer pageSize, String orderField, Boolean orderAsc) {
|
||||||
if(pageSize==null){
|
if (pageSize == null) {
|
||||||
pageSize=10;
|
pageSize = 10;
|
||||||
}
|
}
|
||||||
List<CaseDto> caseDtos = casesService.caseRandom(pageSize, orderField, orderAsc);
|
List<CaseDto> caseDtos = casesService.caseRandom(pageSize, orderField, orderAsc);
|
||||||
return success(caseDtos);
|
return success(caseDtos);
|
||||||
@@ -430,14 +458,14 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 人气榜 浏览数
|
* 人气榜 浏览数
|
||||||
* */
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@GetMapping("/query-praises")
|
@GetMapping("/query-praises")
|
||||||
public JsonResponse<List<CaseRankingDto>> queryPraises(Integer pageSize){
|
public JsonResponse<List<CaseRankingDto>> queryPraises(Integer pageSize) {
|
||||||
if(pageSize==null){
|
if (pageSize == null) {
|
||||||
pageSize=5;
|
pageSize = 5;
|
||||||
}
|
}
|
||||||
List<CaseRankingDto> caseRankingDtos=casesService.queryPraises(pageSize);
|
List<CaseRankingDto> caseRankingDtos = casesService.queryPraises(pageSize);
|
||||||
// IXaskCache cache= XaskCacheProvider.getCache();
|
// IXaskCache cache= XaskCacheProvider.getCache();
|
||||||
// String redisNamePath="case:ranking:hot";
|
// String redisNamePath="case:ranking:hot";
|
||||||
// Object cacheObject = cache.getCacheObject(redisNamePath);
|
// Object cacheObject = cache.getCacheObject(redisNamePath);
|
||||||
@@ -456,14 +484,14 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 好评榜 点赞数
|
* 好评榜 点赞数
|
||||||
* */
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@GetMapping("/query-comments")
|
@GetMapping("/query-comments")
|
||||||
public JsonResponse<List<CaseRankingDto>> queryComments(Integer pageSize){
|
public JsonResponse<List<CaseRankingDto>> queryComments(Integer pageSize) {
|
||||||
if(pageSize==null){
|
if (pageSize == null) {
|
||||||
pageSize=5;
|
pageSize = 5;
|
||||||
}
|
}
|
||||||
List<CaseRankingDto> caseRankingDtos=casesService.queryComment(pageSize);
|
List<CaseRankingDto> caseRankingDtos = casesService.queryComment(pageSize);
|
||||||
// IXaskCache cache = XaskCacheProvider.getCache();
|
// IXaskCache cache = XaskCacheProvider.getCache();
|
||||||
// String redisNamePath="case:ranking:good";
|
// String redisNamePath="case:ranking:good";
|
||||||
// Object cacheObject = cache.getCacheObject(redisNamePath);
|
// Object cacheObject = cache.getCacheObject(redisNamePath);
|
||||||
@@ -481,72 +509,72 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加
|
* 添加
|
||||||
* */
|
*/
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
public JsonResponse<Boolean> save(@RequestBody Cases cases){
|
public JsonResponse<Boolean> save(@RequestBody Cases cases) {
|
||||||
if(StringUtil.isBlank(cases.getTitle())){
|
if (StringUtil.isBlank(cases.getTitle())) {
|
||||||
return badRequest("标题不能为空");
|
return badRequest("标题不能为空");
|
||||||
}
|
}
|
||||||
if(StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())){
|
if (StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())) {
|
||||||
return badRequest("请选择组织领域");
|
return badRequest("请选择组织领域");
|
||||||
}
|
}
|
||||||
if(cases.getMajorIds().isEmpty()){
|
if (cases.getMajorIds().isEmpty()) {
|
||||||
return badRequest("请选择专业分类");
|
return badRequest("请选择专业分类");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(StringUtil.isBlank(cases.getAuthorId())){
|
if (StringUtil.isBlank(cases.getAuthorId())) {
|
||||||
return badRequest("请选择作者");
|
return badRequest("请选择作者");
|
||||||
}
|
}
|
||||||
if(cases.getExcellent()==null){
|
if (cases.getExcellent() == null) {
|
||||||
cases.setExcellent(false);
|
cases.setExcellent(false);
|
||||||
}
|
}
|
||||||
if(StringUtils.isBlank(cases.getConfidentialityLevel())) {
|
if (StringUtils.isBlank(cases.getConfidentialityLevel())) {
|
||||||
cases.setConfidentialityLevel("内部");
|
cases.setConfidentialityLevel("内部");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
casesService.save(cases);
|
casesService.save(cases);
|
||||||
return success(true);
|
return success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return error("添加失败",e.getMessage());
|
return error("添加失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改案例
|
* 修改案例
|
||||||
* */
|
*/
|
||||||
@PostMapping("/update")
|
@PostMapping("/update")
|
||||||
public JsonResponse<Boolean> update(@RequestBody Cases cases){
|
public JsonResponse<Boolean> update(@RequestBody Cases cases) {
|
||||||
if(StringUtil.isBlank(cases.getTitle())){
|
if (StringUtil.isBlank(cases.getTitle())) {
|
||||||
return badRequest("标题不能为空");
|
return badRequest("标题不能为空");
|
||||||
}
|
}
|
||||||
if(StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())){
|
if (StringUtil.isBlank(cases.getOrgDomainParent()) && StringUtil.isBlank(cases.getOrgDomainParent2()) && StringUtil.isBlank(cases.getOrgDomainParent3())) {
|
||||||
return badRequest("请选择组织领域");
|
return badRequest("请选择组织领域");
|
||||||
}
|
}
|
||||||
if(cases.getMajorIds().isEmpty()){
|
if (cases.getMajorIds().isEmpty()) {
|
||||||
return badRequest("请选择专业分类");
|
return badRequest("请选择专业分类");
|
||||||
}
|
}
|
||||||
if(StringUtil.isBlank(cases.getAuthorId())){
|
if (StringUtil.isBlank(cases.getAuthorId())) {
|
||||||
return badRequest("请选择作者");
|
return badRequest("请选择作者");
|
||||||
}
|
}
|
||||||
// if(StringUtils.isBlank(cases.getType())){
|
// if(StringUtils.isBlank(cases.getType())){
|
||||||
// return badRequest("type参数不能为空");
|
// return badRequest("type参数不能为空");
|
||||||
// }
|
// }
|
||||||
if(cases.getExcellent()==null){
|
if (cases.getExcellent() == null) {
|
||||||
cases.setExcellent(false);
|
cases.setExcellent(false);
|
||||||
}
|
}
|
||||||
if(StringUtils.isBlank(cases.getConfidentialityLevel())) {
|
if (StringUtils.isBlank(cases.getConfidentialityLevel())) {
|
||||||
cases.setConfidentialityLevel("内部");
|
cases.setConfidentialityLevel("内部");
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
casesService.update(cases);
|
casesService.update(cases);
|
||||||
// 修改案例表 可能用不到
|
// 修改案例表 可能用不到
|
||||||
if(StringUtils.isNotBlank(cases.getType()) && cases.getType().equals("recommend")){
|
if (StringUtils.isNotBlank(cases.getType()) && cases.getType().equals("recommend")) {
|
||||||
casesRecommendPushRecordService.update(cases);
|
casesRecommendPushRecordService.update(cases);
|
||||||
}
|
}
|
||||||
return success(true);
|
return success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("更新案例错误",e);
|
log.error("更新案例错误", e);
|
||||||
return error("更新失败");
|
return error("更新失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -554,9 +582,9 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 专业分类
|
* 专业分类
|
||||||
* */
|
*/
|
||||||
@GetMapping("/majorTypes")
|
@GetMapping("/majorTypes")
|
||||||
public JsonResponse<List<DictItem>> majorTypes(){
|
public JsonResponse<List<DictItem>> majorTypes() {
|
||||||
List<DictItem> dictItems = casesService.majorTypes();
|
List<DictItem> dictItems = casesService.majorTypes();
|
||||||
return success(dictItems);
|
return success(dictItems);
|
||||||
}
|
}
|
||||||
@@ -564,58 +592,58 @@ public class CasesApi extends ApiBaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例详情
|
* 案例详情
|
||||||
* */
|
*/
|
||||||
@GetMapping("/details")
|
@GetMapping("/details")
|
||||||
public JsonResponse<Map<String,Object>> details(String id, Boolean addView){
|
public JsonResponse<Map<String, Object>> details(String id, Boolean addView) {
|
||||||
if(StringUtil.isBlank(id)){
|
if (StringUtil.isBlank(id)) {
|
||||||
return badRequest("参数错误");
|
return badRequest("参数错误");
|
||||||
}
|
}
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
|
||||||
if(addView==null) {
|
if (addView == null) {
|
||||||
addView=false;
|
addView = false;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Cases cases = casesService.selectById(id,addView);
|
Cases cases = casesService.selectById(id, addView);
|
||||||
if(cases!=null){
|
if (cases != null) {
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", cases.getId()));
|
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", cases.getId()));
|
||||||
if(caseId!=null && !caseId.isEmpty()){
|
if (caseId != null && !caseId.isEmpty()) {
|
||||||
for (CasesMajorType cm:caseId) {
|
for (CasesMajorType cm : caseId) {
|
||||||
stringBuffer.append(cm.getMajorId());
|
stringBuffer.append(cm.getMajorId());
|
||||||
stringBuffer.append(",");
|
stringBuffer.append(",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(stringBuffer.length()>0) {
|
if (stringBuffer.length() > 0) {
|
||||||
stringBuffer.deleteCharAt(stringBuffer.length() - 1);
|
stringBuffer.deleteCharAt(stringBuffer.length() - 1);
|
||||||
cases.setMajorType(stringBuffer.toString());
|
cases.setMajorType(stringBuffer.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
map.put("case",cases);
|
map.put("case", cases);
|
||||||
List<String> collect=null;
|
List<String> collect = null;
|
||||||
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", cases.getId()));
|
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", cases.getId()));
|
||||||
if(caseId!=null && !caseId.isEmpty()){
|
if (caseId != null && !caseId.isEmpty()) {
|
||||||
collect = caseId.stream().map(CasesMajorType::getMajorId).collect(Collectors.toList());
|
collect = caseId.stream().map(CasesMajorType::getMajorId).collect(Collectors.toList());
|
||||||
|
|
||||||
}
|
}
|
||||||
map.put("majorTypes",collect);
|
map.put("majorTypes", collect);
|
||||||
if(cases.getDeleted()){
|
if (cases.getDeleted()) {
|
||||||
return badRequest("当前案例已被删除");
|
return badRequest("当前案例已被删除");
|
||||||
}
|
}
|
||||||
return success(map);
|
return success(map);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("查看案例失败",e);
|
log.error("查看案例失败", e);
|
||||||
return error("查看失败",e.getMessage());
|
return error("查看失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用于二次查询
|
* 用于二次查询
|
||||||
* */
|
*/
|
||||||
@PostMapping("/ids")
|
@PostMapping("/ids")
|
||||||
public JsonResponse<List<Cases>> ids(@RequestBody List<String> ids){
|
public JsonResponse<List<Cases>> ids(@RequestBody List<String> ids) {
|
||||||
if(ids.isEmpty()){
|
if (ids.isEmpty()) {
|
||||||
return badRequest("参数异常");
|
return badRequest("参数异常");
|
||||||
}
|
}
|
||||||
List<Cases> cases = casesService.ids(ids);
|
List<Cases> cases = casesService.ids(ids);
|
||||||
@@ -623,21 +651,21 @@ public class CasesApi extends ApiBaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*设置/取消优秀案例
|
* 设置/取消优秀案例
|
||||||
* */
|
*/
|
||||||
@PostMapping("/excellent")
|
@PostMapping("/excellent")
|
||||||
public JsonResponse<Boolean> excellent(String id,Boolean excellent){
|
public JsonResponse<Boolean> excellent(String id, Boolean excellent) {
|
||||||
if(StringUtil.isBlank(id)){
|
if (StringUtil.isBlank(id)) {
|
||||||
return badRequest("参数异常");
|
return badRequest("参数异常");
|
||||||
}
|
}
|
||||||
if(excellent==null){
|
if (excellent == null) {
|
||||||
excellent=false;//默认设置取消
|
excellent = false;//默认设置取消
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
casesService.excellent(id,excellent);
|
casesService.excellent(id, excellent);
|
||||||
return success(true);
|
return success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return error("设置或者取消失败",e.getMessage());
|
return error("设置或者取消失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user