|
@@ -1,15 +1,25 @@
|
|
|
package com.jeesite.modules.report.service;
|
|
|
|
|
|
+import com.jeesite.common.constant.Constants;
|
|
|
import com.jeesite.common.entity.Page;
|
|
|
+import com.jeesite.common.lang.StringUtils;
|
|
|
import com.jeesite.common.service.CrudService;
|
|
|
+import com.jeesite.modules.file.entity.FileEntity;
|
|
|
+import com.jeesite.modules.file.entity.FileUpload;
|
|
|
import com.jeesite.modules.file.utils.FileUploadUtils;
|
|
|
import com.jeesite.modules.report.dao.ResearchBriefReportDao;
|
|
|
import com.jeesite.modules.report.dao.ResearchBriefReportLabelDao;
|
|
|
+import com.jeesite.modules.report.dao.WebsiteUserOrderDao;
|
|
|
import com.jeesite.modules.report.entity.ResearchBriefReport;
|
|
|
+import com.jeesite.modules.report.entity.ResearchBriefReportLabel;
|
|
|
+import com.jeesite.modules.report.entity.WebsiteUserOrder;
|
|
|
+import com.jeesite.modules.sys.utils.RedisUtil;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -23,6 +33,10 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
|
|
|
|
|
|
@Resource
|
|
|
private ResearchBriefReportLabelDao researchBriefReportLabelDao;
|
|
|
+ @Resource
|
|
|
+ private RedisUtil redisUtil;
|
|
|
+ @Resource
|
|
|
+ private WebsiteUserOrderDao websiteUserOrderDao;
|
|
|
|
|
|
/**
|
|
|
* 获取单条数据
|
|
@@ -76,10 +90,10 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
|
|
|
@Transactional
|
|
|
public void save(ResearchBriefReport researchBriefReport) {
|
|
|
super.save(researchBriefReport);
|
|
|
- FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(),"briefing_info_image");
|
|
|
- FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(),"briefing_info_preview_pdf");
|
|
|
- FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(),"briefing_info_pdf");
|
|
|
- FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(),"briefing_info_ppt");
|
|
|
+ FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(), Constants.briefReport.BRIEFING_INFO_IMAGE);
|
|
|
+ FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(),Constants.briefReport.BRIEFING_INFO_PREVIEW_PDF);
|
|
|
+ FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(),Constants.briefReport.BRIEFING_INFO_PDF);
|
|
|
+ FileUploadUtils.saveFileUpload(researchBriefReport,researchBriefReport.getId(),Constants.briefReport.BRIEFING_INFO_PPT);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -105,4 +119,111 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
|
|
|
public long findAnyLableId(String id) {
|
|
|
return dao.findAnyLableId(id);
|
|
|
}
|
|
|
+
|
|
|
+ public List<ResearchBriefReportLabel> marketTypeList() {
|
|
|
+ //一级
|
|
|
+ ResearchBriefReportLabel where = new ResearchBriefReportLabel();
|
|
|
+ where.setParentId("0");
|
|
|
+ List<ResearchBriefReportLabel> list = researchBriefReportLabelDao.findList(where);
|
|
|
+ //子级
|
|
|
+ List<ResearchBriefReportLabel> childList = researchBriefReportLabelDao.findChildList();
|
|
|
+ return list.stream().map(r -> {
|
|
|
+ r.setChildList(childList.stream().filter(rc -> rc.getParentId().contains(r.getId())).collect(Collectors.toList()));
|
|
|
+ return r;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ public ResearchBriefReport researchBriefReportForm(ResearchBriefReport researchBriefReport, HttpServletRequest request) {
|
|
|
+ ResearchBriefReport old = dao.get(researchBriefReport);
|
|
|
+ if (old == null) {
|
|
|
+ return old;
|
|
|
+ }
|
|
|
+ String reportId = old.getId();
|
|
|
+ old.setPreviewPdfFileName(convertFile(reportId, Constants.briefReport.BRIEFING_INFO_PREVIEW_PDF));
|
|
|
+ if (Constants.enableType.YES.equals(old.getUseDownPay())) {
|
|
|
+ old.setUseShowPay(Constants.enableType.YES);
|
|
|
+ //判断这个报告是否支付过
|
|
|
+ if (isPay(request, reportId)) {
|
|
|
+ old.setUseShowPay(Constants.enableType.NO);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ old.setUseShowPay(Constants.enableType.NO);
|
|
|
+ }
|
|
|
+ if (Constants.enableType.NO.equals(old.getUseShowPay())) {
|
|
|
+ old.setPdfFileName(convertFile(reportId, Constants.briefReport.BRIEFING_INFO_PDF));
|
|
|
+ old.setPptFileName(convertFile(reportId, Constants.briefReport.BRIEFING_INFO_PPT));
|
|
|
+ }
|
|
|
+ return old;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean isPay(HttpServletRequest request, String reportId) {
|
|
|
+ String token = request.getHeader(Constants.WEBSITE_TOKEN);//header方式
|
|
|
+ if (StringUtils.isEmpty(token)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ String uid = (String) redisUtil.get(Constants.PREFIX_USER_TOKEN + token);
|
|
|
+ if (StringUtils.isEmpty(uid)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //查是否有订单
|
|
|
+ WebsiteUserOrder orderWhere = new WebsiteUserOrder();
|
|
|
+ orderWhere.setWebsiteUserId(uid);
|
|
|
+ orderWhere.setResearchBriefReportId(reportId);
|
|
|
+ orderWhere.setPayStatus(Constants.orderPayStatus.PAY_SUCCESS);
|
|
|
+ List<WebsiteUserOrder> list = websiteUserOrderDao.findList(orderWhere);
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<ResearchBriefReport> moreReportList(ResearchBriefReport where) {
|
|
|
+ where.setPageNo(1);
|
|
|
+ where.setPageSize(8);
|
|
|
+ List<ResearchBriefReport> list = dao.findResearchBriefReportList(where);
|
|
|
+ return list.stream().map(r -> {
|
|
|
+ r.setImageFileName(convertFile(r.getId(), Constants.briefReport.BRIEFING_INFO_IMAGE));
|
|
|
+ return r;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<ResearchBriefReport> hotReports(int topNo) {
|
|
|
+ ResearchBriefReport where = new ResearchBriefReport();
|
|
|
+ where.setPageNo(1);
|
|
|
+ where.setPageSize(topNo);
|
|
|
+ List<ResearchBriefReport> list = dao.findResearchBriefReportList(where);
|
|
|
+ return list.stream().map(r -> {
|
|
|
+ r.setImageFileName(convertFile(r.getId(), Constants.briefReport.BRIEFING_INFO_IMAGE));
|
|
|
+ return r;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ public Page<ResearchBriefReport> findReportPage(ResearchBriefReport researchBriefReport) {
|
|
|
+ int pageSize = researchBriefReport.getPageSize();
|
|
|
+ Page page = new Page(researchBriefReport.getPageNo(),pageSize);
|
|
|
+ List<ResearchBriefReport> list = dao.findResearchBriefReportList(researchBriefReport);
|
|
|
+ list = list.stream().map(r -> {
|
|
|
+ r.setImageFileName(convertFile(r.getId(), Constants.briefReport.BRIEFING_INFO_IMAGE));
|
|
|
+ return r;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ page.setList(list);
|
|
|
+ long total = dao.findResearchBriefReportCount(researchBriefReport);
|
|
|
+ long count = total / pageSize;
|
|
|
+ if(total % pageSize > 0){
|
|
|
+ count = count +1;
|
|
|
+ }
|
|
|
+ page.setCount(count);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ private String convertFile(String bizKey, String bizType) {
|
|
|
+ List<FileUpload> list = FileUploadUtils.findFileUpload(bizKey, bizType);
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ FileEntity fileEntity = list.get(0).getFileEntity();
|
|
|
+ if (fileEntity != null) {
|
|
|
+ return fileEntity.getFileId() + '.' + fileEntity.getFileExtension();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|