mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 20:36:50 +08:00
案例三期迭代
This commit is contained in:
@@ -1,18 +1,20 @@
|
|||||||
package com.xboe.module.boecase.api;
|
package com.xboe.module.boecase.api;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.io.OutputStream;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.xboe.core.orm.FieldFilters;
|
import com.xboe.core.orm.FieldFilters;
|
||||||
import com.xboe.module.boecase.dao.CasesMajorTypeDao;
|
import com.xboe.module.boecase.dao.CasesMajorTypeDao;
|
||||||
import com.xboe.module.boecase.dto.*;
|
import com.xboe.module.boecase.dto.*;
|
||||||
import com.xboe.module.boecase.entity.CasesMajorType;
|
import com.xboe.module.boecase.entity.CasesMajorType;
|
||||||
|
import com.xboe.module.boecase.vo.CaseExportVo;
|
||||||
import com.xboe.module.dict.entity.DictItem;
|
import com.xboe.module.dict.entity.DictItem;
|
||||||
|
import com.xboe.module.excel.ExportsExcelSenderUtil;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@@ -94,6 +96,67 @@ public class CasesApi extends ApiBaseController {
|
|||||||
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")
|
||||||
|
public JsonResponse<PageList<Cases>> mylist(Pagination pager,CaseVo caseVo){
|
||||||
|
String aid = this.getCurrent().getAccountId();
|
||||||
|
PageList<Cases> casesPageList = casesService.myList(pager.getPageIndex(), pager.getPageSize(), caseVo, aid);
|
||||||
|
return success(casesPageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出我的案例
|
||||||
|
* */
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(CaseVo caseVo,HttpServletResponse response){
|
||||||
|
String aid = this.getCurrent().getAccountId();
|
||||||
|
OutputStream OutputStream=null;
|
||||||
|
try {
|
||||||
|
OutputStream = response.getOutputStream();
|
||||||
|
LinkedHashMap<String,String> map = new LinkedHashMap<>();
|
||||||
|
map.put("案例名称","title");
|
||||||
|
map.put("状态","status");
|
||||||
|
map.put("审批完成时间","endTime");
|
||||||
|
map.put("公开范围","caseScope");
|
||||||
|
map.put("浏览量","views");
|
||||||
|
map.put("点赞量","praises");
|
||||||
|
map.put("分享量","shares");
|
||||||
|
map.put("收藏量","favorites");
|
||||||
|
List<Cases> list = casesService.myList(caseVo, aid);
|
||||||
|
List<CaseExportVo> exportVos = new ArrayList<>();
|
||||||
|
for (Cases c:list){
|
||||||
|
CaseExportVo caseExportVo = new CaseExportVo();
|
||||||
|
caseExportVo.setTitle(c.getTitle());
|
||||||
|
if(c.getStatus()!=null){
|
||||||
|
if(c.getStatus()==1){
|
||||||
|
caseExportVo.setStatus("待审核");
|
||||||
|
}
|
||||||
|
if(c.getStatus()==2){
|
||||||
|
caseExportVo.setStatus("未通过");
|
||||||
|
}
|
||||||
|
if(c.getStatus()==3){
|
||||||
|
caseExportVo.setStatus("已通过");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
caseExportVo.setEndTime(c.getEndTime());
|
||||||
|
caseExportVo.setCaseScope(c.getCaseScope());
|
||||||
|
caseExportVo.setViews(c.getViews());
|
||||||
|
caseExportVo.setPraises(c.getPraises());
|
||||||
|
caseExportVo.setShares(c.getShares());
|
||||||
|
caseExportVo.setFavorites(c.getFavorites());
|
||||||
|
exportVos.add(caseExportVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
response.setContentType("application/octet-stream");
|
||||||
|
response.setHeader("Content-disposition", "attachment;filename=Teachers.xls");
|
||||||
|
ExportsExcelSenderUtil.export(map,exportVos, OutputStream,"yyyy-MM-dd HH:mm:ss");
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("导出失败",e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置置顶
|
* 设置置顶
|
||||||
|
|||||||
@@ -28,4 +28,5 @@ public class CaseVo {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,8 +79,8 @@ public class Cases extends BaseEntity {
|
|||||||
* 2:已审核未通过
|
* 2:已审核未通过
|
||||||
* 3:已审核通过
|
* 3:已审核通过
|
||||||
* */
|
* */
|
||||||
// @Column(name = "status",length = 1)
|
@Column(name = "status",length = 1)
|
||||||
// private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
@Column(name = "views", nullable = false)
|
@Column(name = "views", nullable = false)
|
||||||
private Integer views;
|
private Integer views;
|
||||||
@@ -242,6 +242,19 @@ public class Cases extends BaseEntity {
|
|||||||
public Cases() {
|
public Cases() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Cases(String id,String title,LocalDateTime endTime,Integer status, String caseScope,Integer views,Integer comments,Integer praises,Integer shares,Integer favorites){
|
||||||
|
this.title=title;
|
||||||
|
super.setId(id);
|
||||||
|
this.endTime=endTime;
|
||||||
|
this.status=status;
|
||||||
|
this.caseScope=caseScope;
|
||||||
|
this.views=views;
|
||||||
|
this.comments=comments;
|
||||||
|
this.praises=praises;
|
||||||
|
this.shares=shares;
|
||||||
|
this.favorites=favorites;
|
||||||
|
}
|
||||||
|
|
||||||
public Cases(String id,String title,String summary,String coverUrl,String authorId,String authorName,LocalDateTime sysCreateTime,Integer breCommend){
|
public Cases(String id,String title,String summary,String coverUrl,String authorId,String authorName,LocalDateTime sysCreateTime,Integer breCommend){
|
||||||
this.title=title;
|
this.title=title;
|
||||||
|
|||||||
@@ -24,6 +24,17 @@ public interface ICasesService{
|
|||||||
* */
|
* */
|
||||||
PageList<CasesFiledVo> queryList(int pageIndex,int pageSize,CaseVo caseVo);
|
PageList<CasesFiledVo> queryList(int pageIndex,int pageSize,CaseVo caseVo);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我的案例
|
||||||
|
* */
|
||||||
|
PageList<Cases> myList(int pageIndex,int pageSize,CaseVo caseVo,String aid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出的查询
|
||||||
|
* */
|
||||||
|
List<Cases> myList(CaseVo caseVo,String aid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置置顶
|
* 设置置顶
|
||||||
* */
|
* */
|
||||||
|
|||||||
@@ -68,19 +68,35 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(StringUtils.isNotBlank(caseVo.getOrgDomain())){
|
if(StringUtils.isNotBlank(caseVo.getOrgDomain())){
|
||||||
filters.add(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain()));
|
if(caseVo.getOrgDomain().contains(",")){
|
||||||
|
String[] split = caseVo.getOrgDomain().split(",");
|
||||||
|
List<String> strings = Arrays.asList(split);
|
||||||
|
filters.add(FieldFilters.in("orgDomainParent",strings));
|
||||||
|
}else{
|
||||||
|
filters.add(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain()));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(caseVo.getExcellent()!=null){
|
if(caseVo.getExcellent()!=null){
|
||||||
filters.add(FieldFilters.eq("excellent",caseVo.getExcellent()));
|
filters.add(FieldFilters.eq("excellent",caseVo.getExcellent()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
// if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||||
// filters.add(FieldFilters.eq("majorType",caseVo.getMajorType()));
|
// filters.add(FieldFilters.eq("majorType",caseVo.getMajorType()));
|
||||||
// }
|
// }
|
||||||
if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||||
|
|
||||||
QueryBuilder from = QueryBuilder.from(CasesMajorType.class);
|
QueryBuilder from = QueryBuilder.from(CasesMajorType.class);
|
||||||
from.addFilter(FieldFilters.eq("majorId",caseVo.getMajorType()));
|
//前端直接字符串拼接传,后端转化数组
|
||||||
|
if(caseVo.getMajorType().contains(",")){
|
||||||
|
String[] split = caseVo.getMajorType().split(",");
|
||||||
|
List<String> strings = Arrays.asList(split);
|
||||||
|
from.addFilter(FieldFilters.in("majorId",strings));
|
||||||
|
}else{
|
||||||
|
from.addFilter(FieldFilters.eq("majorId",caseVo.getMajorType()));
|
||||||
|
}
|
||||||
from.addGroupBy("caseId");
|
from.addGroupBy("caseId");
|
||||||
from.addFields("id","caseId");
|
from.addFields("id","caseId");
|
||||||
// List<CasesMajorType> list = casesMajorTypeDao.findList(from.builder());
|
// List<CasesMajorType> list = casesMajorTypeDao.findList(from.builder());
|
||||||
@@ -158,6 +174,7 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
if(caseVo.getIsTop()!=null) {
|
if(caseVo.getIsTop()!=null) {
|
||||||
query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop()));
|
query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop()));
|
||||||
}
|
}
|
||||||
|
|
||||||
OrderCondition order=null;
|
OrderCondition order=null;
|
||||||
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
||||||
if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) {
|
if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) {
|
||||||
@@ -222,6 +239,89 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageList<Cases> myList(int pageIndex, int pageSize, CaseVo caseVo, String aid) {
|
||||||
|
QueryBuilder query=QueryBuilder.from(Cases.class);
|
||||||
|
query.addFilter(FieldFilters.eq("deleted",false));
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getKeyWord())){
|
||||||
|
query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
}
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getOrgDomain())){
|
||||||
|
query.addFilter(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain()));
|
||||||
|
}
|
||||||
|
if(caseVo.getExcellent()!=null){
|
||||||
|
query.addFilter(FieldFilters.eq("excellent",caseVo.getExcellent()));
|
||||||
|
}
|
||||||
|
// if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||||
|
// query.addFilter(FieldFilters.eq("majorType",caseVo.getMajorType()));
|
||||||
|
// }
|
||||||
|
if(caseVo.getIsTop()!=null) {
|
||||||
|
query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(aid)){
|
||||||
|
query.addFilter(FieldFilters.eq("authorId",aid));
|
||||||
|
}
|
||||||
|
|
||||||
|
OrderCondition order=null;
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
||||||
|
if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) {
|
||||||
|
order=OrderCondition.asc(caseVo.getOrderField());
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc(caseVo.getOrderField());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc("sysCreateTime");
|
||||||
|
}
|
||||||
|
query.addOrder(order);
|
||||||
|
query.setPageIndex(pageIndex);
|
||||||
|
query.setPageSize(pageSize);
|
||||||
|
query.addFields("new Cases(id,title,endTime,status,caseScope,views,comments,praises,shares,favorites)");
|
||||||
|
PageList<Cases> page = casesDao.findPage(query.builder());
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Cases> myList(CaseVo caseVo, String aid) {
|
||||||
|
QueryBuilder query=QueryBuilder.from(Cases.class);
|
||||||
|
query.addFilter(FieldFilters.eq("deleted",false));
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getKeyWord())){
|
||||||
|
query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
}
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getOrgDomain())){
|
||||||
|
query.addFilter(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain()));
|
||||||
|
}
|
||||||
|
if(caseVo.getExcellent()!=null){
|
||||||
|
query.addFilter(FieldFilters.eq("excellent",caseVo.getExcellent()));
|
||||||
|
}
|
||||||
|
// if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||||
|
// query.addFilter(FieldFilters.eq("majorType",caseVo.getMajorType()));
|
||||||
|
// }
|
||||||
|
if(caseVo.getIsTop()!=null) {
|
||||||
|
query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(aid)){
|
||||||
|
query.addFilter(FieldFilters.eq("authorId",aid));
|
||||||
|
}
|
||||||
|
|
||||||
|
OrderCondition order=null;
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
||||||
|
if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) {
|
||||||
|
order=OrderCondition.asc(caseVo.getOrderField());
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc(caseVo.getOrderField());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc("sysCreateTime");
|
||||||
|
}
|
||||||
|
query.addOrder(order);
|
||||||
|
|
||||||
|
query.addFields("new Cases(id,title,endTime,status,caseScope,views,comments,praises,shares,favorites)");
|
||||||
|
List<Cases> list = casesDao.findList(query.builder());
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置置顶
|
* 设置置顶
|
||||||
* */
|
* */
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.xboe.module.boecase.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.apache.tomcat.jni.Local;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CaseExportVo {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
|
||||||
|
private String caseScope;
|
||||||
|
|
||||||
|
private Integer views;
|
||||||
|
|
||||||
|
private Integer praises;
|
||||||
|
|
||||||
|
private Integer shares;
|
||||||
|
|
||||||
|
private Integer favorites;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user