Merge branch 'zcwy_yk' into 'master'

案例搜索接口修改4

See merge request !67
This commit is contained in:
joshen
2024-01-11 18:13:55 +08:00

View File

@@ -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());
} }
} }