diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java
index a1ce43a0..0d6e4d54 100644
--- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java
+++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java
@@ -405,8 +405,10 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
BoolQueryBuilder keywordQuery = QueryBuilders.boolQuery();
keywordQuery.should(QueryBuilders.wildcardQuery("name", "*"+words+"*").boost(9f));
keywordQuery.should(QueryBuilders.wildcardQuery("teacher", "*"+words+"*").boost(7f));
- keywordQuery.should(QueryBuilders.queryStringQuery("*" + words + "*").field("keywords"));
- keywordQuery.should(QueryBuilders.queryStringQuery(words).field("keywords"));
+// keywordQuery.should(QueryBuilders.queryStringQuery("*" + words + "*").field("keywords"));
+// keywordQuery.should(QueryBuilders.queryStringQuery(words).field("keywords"));
+ keywordQuery.should(QueryBuilders.matchPhraseQuery("keywords", words));
+ keywordQuery.should(QueryBuilders.fuzzyQuery("keywords", words));
//keywordQuery.should(QueryBuilders.queryStringQuery(words).field("name", 9f));//用此方法无法查询出有转义符的处理
//keywordQuery.should(QueryBuilders.queryStringQuery(words).field("teacher", 8f));
@@ -603,27 +605,26 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.from(startRow);
sourceBuilder.size(pageSize);
-
+
BoolQueryBuilder boolQuery=createQuery(paras);
if(boolQuery.hasClauses()) {
sourceBuilder.query(boolQuery);
}
-
+
//排序
if(StringUtils.isBlank(paras.getKeywords()) && paras.getOrderType()!=3) {
sourceBuilder.sort("isTop",SortOrder.DESC);
//sourceBuilder.sort("topTime",SortOrder.DESC);
}
if(paras.getOrderType()!=null) {
- if(paras.getOrderType()==1) {
- sourceBuilder.sort("publishTime",SortOrder.DESC);
- }else if(paras.getOrderType()==2) {
- sourceBuilder.sort("studies",SortOrder.DESC);
- }
- }else if (paras.getOrderType()==3){
- sourceBuilder.sort("score",SortOrder.DESC);
+ if (paras.getOrderType() == 1) {
+ sourceBuilder.sort("publishTime", SortOrder.DESC);
+ } else if (paras.getOrderType() == 2) {
+ sourceBuilder.sort("studies", SortOrder.DESC);
+ } else if (paras.getOrderType() == 3) {
+ sourceBuilder.sort("score", SortOrder.DESC);
}
- }
+ }
sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
diff --git a/servers/boe-server-all/pom.xml b/servers/boe-server-all/pom.xml
index 0ba96cba..e0406c88 100644
--- a/servers/boe-server-all/pom.xml
+++ b/servers/boe-server-all/pom.xml
@@ -38,6 +38,11 @@
${nacos-client.version}
+
+ org.apache.poi
+ poi-ooxml
+ 4.0.1
+
cn.hutool
hutool-all
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java
index 93dd6b78..917f8547 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java
@@ -31,29 +31,38 @@ public class ThirdApi {
@Value("${userBasic.searchUserList}")
private String searchUserListUrl;
+ @Value("${statApi.userdynamicList}")
+ private String userdynamicListUrl;
- public List getAllUserList(UserListParam userListParam, String token) {
+
+ public List getAllUserList(UserListParam userListParam, String token) {
log.info("获取用户");
String resp = Optional.ofNullable(HttpRequest.post(searchUserListUrl).body(JSONUtil.toJsonStr(userListParam)).header("token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
- log.info("获取用户返回值 {}",resp);
+ UserInfoListRootBean userInfoListRootBean1 = JSONUtil.toBean(resp, UserInfoListRootBean.class);
+ log.info("userInfoListRootBean1 = " + userInfoListRootBean1);
+ List list = userInfoListRootBean1.getResult().getList();
+ log.info("list = " + list);
+
+
+ log.info("获取用户返回值1 {}",resp);
return Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(resp, UserInfoListRootBean.class).success())
.map(UserInfoListRootBean::getResult)
- .map(result -> Opt.ofEmptyAble(result.getUserInfoList()).peek(t -> nextPage(userListParam, token, t, result)).orElse(ListUtil.toList()))
+ .map(result -> Opt.ofEmptyAble(result.getList()).peek(t -> nextPage(userListParam, token, t, result)).orElse(ListUtil.toList()))
.orElse(ListUtil.toList());
}
- private void getAllUserList(UserListParam userListParam, String token, List userInfoLists) {
+ private void getAllUserList(UserListParam userListParam, String token, List userInfoLists) {
log.info("获取用户2");
String resp = Optional.ofNullable(HttpRequest.post(searchUserListUrl).body(JSONUtil.toJsonStr(userListParam)).header("token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
- log.info("获取用户返回值 {}",resp);
- Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, UserInfoListRootBean.class).success()).map(UserInfoListRootBean::getResult).map(UserInfoListRootBean.ResultData::getUserInfoList).stream().flatMap(Collection::stream).forEach(userInfoLists::add);
+ log.info("获取用户返回值2 {}",resp);
+ Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, UserInfoListRootBean.class).success()).map(UserInfoListRootBean::getResult).map(UserInfoListRootBean.ResultData::getList).stream().flatMap(Collection::stream).forEach(userInfoLists::add);
}
- private void nextPage(UserListParam userListParam, String token, List userInfoLists, UserInfoListRootBean.ResultData t) {
- log.info("获取用户--" + userListParam.getPage());
- if (t.getTotalPage() > userListParam.getPage()) {
- REQUEST_TASK.submit(() -> IntStream.range(userListParam.getPage(), t.getTotalPage()).parallel().forEach(i -> getAllUserList(userListParam.withPage(i + 1), token, userInfoLists))).join();
+ private void nextPage(UserListParam userListParam, String token, List userInfoLists, UserInfoListRootBean.ResultData t) {
+ log.info("获取用户--" + userListParam.getPageNo());
+ if (t.getTotalPage() > userListParam.getPageNo()) {
+ REQUEST_TASK.submit(() -> IntStream.range(userListParam.getPageNo(), t.getTotalPage()).parallel().forEach(i -> getAllUserList(userListParam.withPageNo(i + 1), token, userInfoLists))).join();
}
}
@@ -73,8 +82,8 @@ public class ThirdApi {
}
private void nextPage(AuditListParam userListParam, List t, Result result, String token) {
- if (result.getTotalPage() > userListParam.getPage()) {
- REQUEST_TASK.submit(() -> IntStream.range(userListParam.getPage(), result.getTotalPage()).parallel().forEach(i -> getAllAudienceList(userListParam.withPage(i + 1), t, token))).join();
+ if (result.getTotalPage() > userListParam.getPageNo()) {
+ REQUEST_TASK.submit(() -> IntStream.range(userListParam.getPageNo(), result.getTotalPage()).parallel().forEach(i -> getAllAudienceList(userListParam.withPageNo(i + 1), t, token))).join();
}
}
@@ -83,4 +92,40 @@ public class ThirdApi {
Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, AuditRootBean.class).success()).map(AuditRootBean::getResult).map(Result::getList).stream().flatMap(Collection::stream).forEach(list::add);
}
+ public List getAllUserdynamicList(UserdynamicParam userdynamicParam, String token) {
+ String resp = Optional.ofNullable(HttpRequest.post(userdynamicListUrl).body(JSONUtil.toJsonStr(userdynamicParam)).header("XBOE-Access-Token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
+ log.error("=1----getAllUserdynamicList----- 开始课程信息 ---------------------------------resp = " + resp );
+ return Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(resp, DynamicBean.class).success())
+ .map(DynamicBean::getResult)
+ .map(result -> Opt.ofEmptyAble(result.getList()).peek(t -> nextPage(userdynamicParam, t, result, token)).orElse(ListUtil.toList()))
+ .orElse(ListUtil.toList());
+ }
+ private void nextPage(UserdynamicParam userdynamicParam, List t, UserDynamicResult result, String token) {
+ log.error("=2----getAllUserdynamicList----- 开始课程信息 ---------------------------------resp = " + userdynamicParam );
+ if (result.getTotalPages() > userdynamicParam.getPageIndex()) {
+ REQUEST_TASK.submit(() -> IntStream.range(userdynamicParam.getPageIndex(), result.getTotalPages()).parallel().forEach(i -> getAllUserdynamicList(userdynamicParam.withPageIndex(i + 1), t, token))).join();
+ }
+ }
+
+ private void getAllUserdynamicList(UserdynamicParam userdynamicParam, List list, String token) {
+ log.error("=3----getAllUserdynamicList----- 开始课程信息 ---------------------------------resp = " + userdynamicParam );
+ String resp = Optional.ofNullable(HttpRequest.post(usersByAudienceList).body(JSONUtil.toJsonStr(userdynamicParam.builder().pageSize(1000).build())).header("token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
+ Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, DynamicBean.class).success()).map(DynamicBean::getResult).map(UserDynamicResult::getList).stream().flatMap(Collection::stream).forEach(list::add);
+ }
+
+ public static void main(String[] args) {
+ String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJjb21wYW55Q29kZSI6IkMwMDEiLCJ1SWQiOiI5NjUzNDIwMjc0OTc2MDcxNjgiLCJjb21wYW55SWQiOiIxMDQxNjczOTc3Mzc5OTQ2NDk2IiwibG9naW5JZCI6IjE2ODg0NDg5MjIwNzY0OTE3NzgiLCJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsImV4cCI6MTY5MTM5OTc2NzU1OCwidXNlck5hbWUiOiLmnY7njonlhrAiLCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEifQ==.8b52dcf4d48a790ed258b9ca2b279bb269f5301722095382fbd352705b51c893";
+ String resp = Optional.ofNullable(HttpRequest.post("https://u-pre.boe.com/statApi/xboe/m/stat/userdynamic/list").body(JSONUtil.toJsonStr(UserdynamicParam.builder().
+ aid(Long.parseLong("965342027497607168")).pageSize(1000).pageIndex(1).build())).header("XBOE-Access-Token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
+ System.out.println(" resp = " +resp);
+ DynamicBean a = JSONUtil.toBean(resp, DynamicBean.class);
+ System.out.println(" a = " +a);
+ System.out.println(" a = " + a.getResult().getCount());
+ List list = a.getResult().getList();
+ System.out.println(" list = " +list.size());
+ System.out.println(" list = " +list);
+
+
+
+ }
}
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/AuditListParam.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/AuditListParam.java
index 32c80e17..fa554cf6 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/api/vo/AuditListParam.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/AuditListParam.java
@@ -9,6 +9,6 @@ import lombok.*;
@AllArgsConstructor
public class AuditListParam implements Cloneable {
private String audienceId;
- private Integer page;
+ private Integer pageNo;
private Integer pageSize;
}
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/DynamicBean.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/DynamicBean.java
new file mode 100644
index 00000000..e543275c
--- /dev/null
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/DynamicBean.java
@@ -0,0 +1,34 @@
+package com.xboe.api.vo;
+
+
+import cn.hutool.json.JSONUtil;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Date;
+
+@Data
+@Slf4j
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DynamicBean {
+
+ private String error;
+ private String message;
+ private String permissions;
+ private UserDynamicResult result;
+ private int status;
+ private Date timestamp;
+
+ public DynamicBean success() {
+ if (this.status != 200) {
+ log.error("获取受众列表失败----{}", JSONUtil.toJsonPrettyStr(this));
+ return null;
+ }
+ return this;
+ }
+}
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserDynamic.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserDynamic.java
new file mode 100644
index 00000000..6815e41f
--- /dev/null
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserDynamic.java
@@ -0,0 +1,87 @@
+package com.xboe.api.vo;
+
+import com.xboe.core.orm.IdEntity;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class UserDynamic extends IdEntity {
+
+
+ private static final long serialVersionUID = -2536708166103273425L;
+
+ /**
+ * 事件动态
+ */
+ public final static int TYPE_EVENT=1;
+
+ /**
+ * 其它动态
+ */
+ public final static int TYPE_OTHER=9;
+
+ /**
+ * 类型
+ * 1表事件动态 2表非事件动态
+ * */
+ private Integer type;
+
+ /**
+ * 动态的标题
+ */
+ private String title;
+
+ /**
+ * 事件的key
+ * */
+ private String eventKey;
+
+ /**
+ * 事件id
+ * */
+ private String eventId;
+
+ /**
+ * 动态月份
+ * yyyyMM
+ * */
+ private Integer month;
+
+ /**
+ * 内容类型
+ * */
+ private String contentType;
+
+ /**
+ * 内容id
+ * */
+ private String contentId;
+
+ /**
+ * 动态内容
+ * */
+ private String contentInfo;
+
+ /**
+ * 用户自定义信息
+ */
+ private String cusInfo;
+
+ /**
+ * 动态人id
+ * */
+ private String aid;
+
+ /**
+ * 用户的名称
+ */
+ private String aname;
+ /**
+ * 是否隐藏
+ * */
+ private Boolean hidden;
+ private LocalDateTime eventTime;
+
+
+}
\ No newline at end of file
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserDynamicResult.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserDynamicResult.java
new file mode 100644
index 00000000..c0e2e617
--- /dev/null
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserDynamicResult.java
@@ -0,0 +1,22 @@
+package com.xboe.api.vo;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class UserDynamicResult {
+
+ private int count;
+ private int pageSize;
+ private int totalPages;
+ private List list;
+
+}
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserInfoListRootBean.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserInfoListRootBean.java
index 2c4be964..be825f87 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserInfoListRootBean.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserInfoListRootBean.java
@@ -31,7 +31,7 @@ public class UserInfoListRootBean {
private int totalElement;
private int totalPage;
- private List userInfoList;
+ private List list;
}
}
\ No newline at end of file
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserInfoListVo.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserInfoListVo.java
new file mode 100644
index 00000000..3f82037c
--- /dev/null
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserInfoListVo.java
@@ -0,0 +1,43 @@
+package com.xboe.api.vo;
+
+
+import lombok.Data;
+
+@Data
+public class UserInfoListVo {
+
+ private long id;
+ private String bandCode;
+ private String bandDesc;
+ private Boolean deleted;
+ private String departId;
+ private String description;
+ private String domainId;
+ private String departName;
+ private String duty;
+ private int employeeStatus;
+ private String companyId;
+ private String orgName;
+ private Integer gender;
+ private String jobName;
+ private String kid;
+ private int learningDuration;
+ private String mobile;
+ private String realName;
+ private String oldDepartId;
+ private String orgNamePath;
+ private String orgTreeType;
+ private String payrollPlaceId;
+ private String payrollPlaceName;
+ private long personId;
+ private String positionMgrLevel;
+ private String rank;
+ private long sassId;
+ private int status;
+ private String telephoneNo;
+ private String userNo;
+ private String email;
+ private String avatar;
+ private String positionList;
+
+}
\ No newline at end of file
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserListParam.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserListParam.java
index 0f063a3d..164bf818 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserListParam.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserListParam.java
@@ -12,8 +12,10 @@ public class UserListParam {
private String departId;
private String userNo;
private String realName;
+// @Builder.Default
+// private int page = 1;
@Builder.Default
- private int page = 1;
+ private int pageNo = 1;
@Builder.Default
private int pageSize = 10;
}
diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserdynamicParam.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserdynamicParam.java
new file mode 100644
index 00000000..fa607e37
--- /dev/null
+++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/UserdynamicParam.java
@@ -0,0 +1,16 @@
+package com.xboe.api.vo;
+
+import lombok.*;
+
+@Data
+@Builder
+@With
+@NoArgsConstructor
+@AllArgsConstructor
+public class UserdynamicParam {
+ private Integer pageIndex;
+ private Integer pageSize = 1000;
+ private Integer contentType;
+ private Long aid;
+ private String hidden;
+}
\ No newline at end of file
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java
index 848c6816..c48b771e 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java
@@ -15,6 +15,8 @@ import com.xboe.module.boecase.vo.CaseExportVo;
import com.xboe.module.dict.entity.DictItem;
import com.xboe.module.excel.ExportsExcelSenderUtil;
+import com.xboe.system.user.dao.UserDao;
+import com.xboe.system.user.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -58,6 +60,8 @@ public class CasesApi extends ApiBaseController {
@Resource
private CasesMajorTypeDao casesMajorTypeDao;
+ @Resource
+ private UserDao userDao;
/**
* 用于后台管理
@@ -150,10 +154,20 @@ public class CasesApi extends ApiBaseController {
}
}
+ } else {
+ views = new PageList();
+ views.setList(Collections.emptyList());
+ views.setPageSize(req.getPageSize());
+ views.setCount(0);
}
return success(views);
}
+ @PostMapping("/caseYears")
+ public JsonResponse> caseYears() {
+ List result = casesService.getCaseYears();
+ return success(result);
+ }
/**
* 案例分页搜索 是否置顶
@@ -242,13 +256,27 @@ public class CasesApi extends ApiBaseController {
try {
outputStream = response.getOutputStream();
LinkedHashMap map = new LinkedHashMap<>();
+// 标题,摘要,案主姓名,案主工号,案主所在组织全路径,同步时间,查看次数。
map.put("标题","title");
+ map.put("摘要","summary");
+ map.put("案主姓名","authorName");
+ map.put("案主工号","userNo");
+ map.put("案主所在组织全路径","department");
+ map.put("同步时间","exportDate");
+ map.put("查看次数","views");
List list = casesService.managerCaseTitleList(caseVo);
List exportVos = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
for (Cases c:list){
CaseExportVo caseExportVo = new CaseExportVo();
caseExportVo.setTitle(c.getTitle());
+ caseExportVo.setSummary(c.getSummary()==null?"":c.getSummary());
+ caseExportVo.setAuthorName(c.getAuthorName()==null?"":c.getAuthorName());
+ User user = userDao.findOne(FieldFilters.eq("id", c.getAuthorId()));
+ caseExportVo.setUserNo(user.getUserNo()==null?"":user.getUserNo());
+ caseExportVo.setDepartment(c.getDepartment()==null?"":c.getDepartment());
+ caseExportVo.setExportDate(now);
+ caseExportVo.setViews(c.getViews()==null? 0 :c.getViews());
exportVos.add(caseExportVo);
}
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java
index 907fd0a9..d70845dd 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
@@ -25,9 +26,9 @@ import com.xboe.module.boecase.vo.BrowseDurationVo;
import com.xboe.module.boecase.vo.CasesRecommendLaunchVo;
import com.xboe.module.boecase.vo.CasesRecommendPushVo;
import com.xboe.module.boecase.vo.CasesRecommendVo;
-import com.xboe.module.excel.ExportsExcelSenderUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -35,9 +36,7 @@ import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.OutputStream;
import java.util.ArrayList;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -138,6 +137,7 @@ public class CasesRecommendApi extends ApiBaseController {
// 通过工具类创建writer,默认创建xls格式
ExcelWriter writer = ExcelUtil.getWriter();
writer.writeHeadRow(ListUtil.toList("标题"));
+ writer.autoSizeColumnAll();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=failData.xls");
ServletOutputStream out = response.getOutputStream();
@@ -166,6 +166,7 @@ public class CasesRecommendApi extends ApiBaseController {
if (CollectionUtil.isNotEmpty(dataList)) {
writer.write(dataList);
}
+ writer.autoSizeColumnAll();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=failData.xls");
ServletOutputStream out = response.getOutputStream();
@@ -207,7 +208,6 @@ public class CasesRecommendApi extends ApiBaseController {
if (StringUtils.isEmpty(token)) {
token = request.getHeader("token");
}
-
return success(iCasesRecommendPushRecordService.launchPush(casesRecommendLaunch, getCurrent(), token));
}
@@ -218,50 +218,43 @@ public class CasesRecommendApi extends ApiBaseController {
* @throws Exception
*/
@PostMapping("/info_download")
- public void infoDownload(@RequestBody CasesRecommendVo vo, HttpServletResponse response) {
+ public void infoDownload(@RequestBody CasesRecommendVo vo, HttpServletResponse response) throws Exception {
if (StringUtils.isEmpty(vo.getCasesRecommendId())) {
throw new RuntimeException("缺少必要参数");
}
- try (OutputStream outputStream = response.getOutputStream()) {
- // 用个List