mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 12:26:51 +08:00
案例三期迭代
This commit is contained in:
@@ -1,18 +1,20 @@
|
||||
package com.xboe.module.boecase.api;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.OutputStream;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.module.boecase.dao.CasesMajorTypeDao;
|
||||
import com.xboe.module.boecase.dto.*;
|
||||
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.excel.ExportsExcelSenderUtil;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
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);
|
||||
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:已审核未通过
|
||||
* 3:已审核通过
|
||||
* */
|
||||
// @Column(name = "status",length = 1)
|
||||
// private Integer status;
|
||||
@Column(name = "status",length = 1)
|
||||
private Integer status;
|
||||
|
||||
@Column(name = "views", nullable = false)
|
||||
private Integer views;
|
||||
@@ -242,6 +242,19 @@ public class Cases extends BaseEntity {
|
||||
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){
|
||||
this.title=title;
|
||||
|
||||
@@ -24,6 +24,17 @@ public interface ICasesService{
|
||||
* */
|
||||
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())){
|
||||
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){
|
||||
filters.add(FieldFilters.eq("excellent",caseVo.getExcellent()));
|
||||
}
|
||||
|
||||
|
||||
// if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||
// filters.add(FieldFilters.eq("majorType",caseVo.getMajorType()));
|
||||
// }
|
||||
if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||
|
||||
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.addFields("id","caseId");
|
||||
// List<CasesMajorType> list = casesMajorTypeDao.findList(from.builder());
|
||||
@@ -158,6 +174,7 @@ public class CasesServiceImpl implements ICasesService {
|
||||
if(caseVo.getIsTop()!=null) {
|
||||
query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop()));
|
||||
}
|
||||
|
||||
OrderCondition order=null;
|
||||
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
||||
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