浏览代码

简报功能修改

guomengjiao 5 月之前
父节点
当前提交
5b1fc48596
共有 16 个文件被更改,包括 357 次插入87 次删除
  1. 30 20
      .idea/workspace.xml
  2. 1 1
      modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/ResearchBriefReportControllerApi.java
  3. 0 1
      modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportDao.java
  4. 0 2
      modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportLabelDao.java
  5. 22 0
      modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportLabelRelevancyDao.java
  6. 42 13
      modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReport.java
  7. 3 3
      modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReportLabel.java
  8. 76 0
      modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReportLabelRelevancy.java
  9. 84 0
      modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportLabelRelevancyService.java
  10. 4 1
      modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportLabelService.java
  11. 41 13
      modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportService.java
  12. 2 18
      modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportController.java
  13. 6 3
      modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportLabelController.java
  14. 10 7
      modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportDao.xml
  15. 1 5
      modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportLabelDao.xml
  16. 35 0
      modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportLabelRelevancyDao.xml

+ 30 - 20
.idea/workspace.xml

@@ -28,23 +28,19 @@
     </select>
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="fc9366aa-6566-4981-8149-d75e02f8e884" name="默认的" comment="报告下载">
+    <list default="true" id="fc9366aa-6566-4981-8149-d75e02f8e884" name="默认的" comment="报告支付">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/common/src/main/java/com/jeesite/common/constant/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/common/src/main/java/com/jeesite/common/constant/Constants.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/bjflapi.iml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/bjflapi.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/AbstractController.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/AbstractController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserControllerApi.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserOrderControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserOrderControllerApi.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/util/AlipayUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/util/AlipayUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/jeesite-module-report.iml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/jeesite-module-report.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/WebsiteUserDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/WebsiteUserDao.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/WebsiteUserOrderDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/WebsiteUserOrderDao.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/WebsiteUserOrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/WebsiteUserOrderService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/WebsiteUserDao.xml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/WebsiteUserDao.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/WebsiteUserOrderDao.xml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/WebsiteUserOrderDao.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/web/jeesite-web.iml" beforeDir="false" afterPath="$PROJECT_DIR$/web/jeesite-web.iml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/ResearchBriefReportControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/ResearchBriefReportControllerApi.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportDao.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportLabelDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportLabelDao.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReport.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReport.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReportLabel.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReportLabel.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportLabelService.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportLabelService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportService.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportController.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportLabelController.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportLabelController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportDao.xml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportDao.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportLabelDao.xml" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportLabelDao.xml" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -463,7 +459,7 @@
       <workItem from="1734268366747" duration="59000" />
       <workItem from="1734579234738" duration="258000" />
       <workItem from="1734579502121" duration="1272000" />
-      <workItem from="1734658594781" duration="102538000" />
+      <workItem from="1734658594781" duration="113674000" />
     </task>
     <task id="LOCAL-00001" summary="1">
       <created>1676368709673</created>
@@ -745,7 +741,21 @@
       <option name="project" value="LOCAL" />
       <updated>1735034116817</updated>
     </task>
-    <option name="localTasksCounter" value="41" />
+    <task id="LOCAL-00041" summary="报告支付">
+      <created>1735098267505</created>
+      <option name="number" value="00041" />
+      <option name="presentableId" value="LOCAL-00041" />
+      <option name="project" value="LOCAL" />
+      <updated>1735098267505</updated>
+    </task>
+    <task id="LOCAL-00042" summary="报告支付">
+      <created>1735112174030</created>
+      <option name="number" value="00042" />
+      <option name="presentableId" value="LOCAL-00042" />
+      <option name="project" value="LOCAL" />
+      <updated>1735112174030</updated>
+    </task>
+    <option name="localTasksCounter" value="43" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -800,7 +810,6 @@
     </option>
   </component>
   <component name="VcsManagerConfiguration">
-    <MESSAGE value="修复图片丢失" />
     <MESSAGE value="用户信息优化" />
     <MESSAGE value="添加销量单位,价格单位" />
     <MESSAGE value="更新报告附件" />
@@ -825,7 +834,8 @@
     <MESSAGE value="按钮权限" />
     <MESSAGE value="简报下载" />
     <MESSAGE value="报告下载" />
-    <option name="LAST_COMMIT_MESSAGE" value="报告下载" />
+    <MESSAGE value="报告支付" />
+    <option name="LAST_COMMIT_MESSAGE" value="报告支付" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>

+ 1 - 1
modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/ResearchBriefReportControllerApi.java

@@ -66,7 +66,7 @@ public class ResearchBriefReportControllerApi {
             query.setNotId(vo.getId());
             query.setMarketType(vo.getMarketType());
             query.setTopLabelId(vo.getTopLabelId());
-            query.setSecondLabelId(vo.getSecondLabelId());
+            query.setPublishDateEnd(vo.getPublishDate());
             list = researchBriefReportService.moreReportList(query);
         }
         map.put("list", list);

+ 0 - 1
modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportDao.java

@@ -19,5 +19,4 @@ public interface ResearchBriefReportDao extends CrudDao<ResearchBriefReport> {
 
     List<ResearchBriefReport> findResearchBriefReportList(@Param("rr") ResearchBriefReport researchBriefReport);
 
-    long findAnyLableId(@Param("id") String id);
 }

+ 0 - 2
modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportLabelDao.java

@@ -21,7 +21,5 @@ public interface ResearchBriefReportLabelDao extends CrudDao<ResearchBriefReport
 
     long findPageCount(@Param("info") ResearchBriefReportLabel researchBriefReportLabel);
 
-    String findNames(@Param("parentId") String parentId);
-
     List<ResearchBriefReportLabel> findChildList();
 }

+ 22 - 0
modules/report/src/main/java/com/jeesite/modules/report/dao/ResearchBriefReportLabelRelevancyDao.java

@@ -0,0 +1,22 @@
+package com.jeesite.modules.report.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.report.entity.ResearchBriefReportLabelRelevancy;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 简报与分类关联DAO接口
+ * @author gg
+ * @version 2024-12-25
+ */
+@MyBatisDao
+public interface ResearchBriefReportLabelRelevancyDao extends CrudDao<ResearchBriefReportLabelRelevancy> {
+
+    //1-父类分类 2-子级分类
+    String findNames(@Param("id") String id, @Param("type") int type);
+
+    long findAnyLableId(@Param("id") String id);
+
+    void deleteResearchBriefReportId(@Param("id") String id);
+}

+ 42 - 13
modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReport.java

@@ -11,6 +11,7 @@ import javax.validation.constraints.DecimalMin;
 import javax.validation.constraints.Size;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 简报智库Entity
@@ -24,11 +25,11 @@ import java.util.Date;
 		@Column(name="publish_date", attrName="publishDate", label="发布日期"),
 		@Column(name="outline", attrName="outline", label="概要"),
 		@Column(name="market_type", attrName="marketType", label="所属分类"),
-		@Column(name="top_label_id", attrName="topLabelId", label="一级标签id"),
-		@Column(name="second_label_id", attrName="secondLabelId", label="二级标签id"),
 		@Column(name="use_down_pay", attrName="useDownPay", label="下载是否需要支付 0否 1是"),
 		@Column(name="use_down_pay_price", attrName="useDownPayPrice", label="下载需要支付单价"),
 		@Column(name="use_choiceness", attrName="useChoiceness", label="是否精选 0否 1是"),
+		@Column(name="web_title", attrName="webTitle", label="网站标题",queryType = QueryType.LIKE),
+		@Column(name="report_code", attrName="reportCode", label="报告代码"),
 	}, orderBy="a.update_date DESC"
 )
 public class ResearchBriefReport extends DataEntity<ResearchBriefReport> {
@@ -39,10 +40,12 @@ public class ResearchBriefReport extends DataEntity<ResearchBriefReport> {
 	private String outline;		// 概要
 	private String marketType;		// 所属分类
 	private String topLabelId;		// 一级标签id
-	private String secondLabelId;		// 二级标签id
 	private String useDownPay;		// 下载是否需要支付 0否 1是
 	private BigDecimal useDownPayPrice;		// 下载需要支付单价
 	private String useChoiceness; 	//是否精选 0否 1是
+	private String webTitle;		//网站标题
+	private String reportCode;		//报告代码
+
 	private Date publishDateStr;	//发布日期起
 	private Date publishDateEnd;	//发布日期止
 	private String topLabelName;		// 一级标签id
@@ -57,6 +60,10 @@ public class ResearchBriefReport extends DataEntity<ResearchBriefReport> {
 	private String useShowPay; //是否展示收费按钮 0否 1是
 	private String notId;
 
+	private String orderByStr = "update_date desc";
+
+	private List<ResearchBriefReportLabelRelevancy> relevancies;
+
 	public ResearchBriefReport() {
 		this(null);
 	}
@@ -100,7 +107,6 @@ public class ResearchBriefReport extends DataEntity<ResearchBriefReport> {
 		this.marketType = marketType;
 	}
 	
-	@Size(min=0, max=64, message="一级标签id长度不能超过 64 个字符")
 	public String getTopLabelId() {
 		return topLabelId;
 	}
@@ -109,15 +115,6 @@ public class ResearchBriefReport extends DataEntity<ResearchBriefReport> {
 		this.topLabelId = topLabelId;
 	}
 	
-	@Size(min=0, max=64, message="二级标签id长度不能超过 64 个字符")
-	public String getSecondLabelId() {
-		return secondLabelId;
-	}
-
-	public void setSecondLabelId(String secondLabelId) {
-		this.secondLabelId = secondLabelId;
-	}
-	
 	@Size(min=0, max=2, message="下载是否需要支付 0否 1是长度不能超过 2 个字符")
 	public String getUseDownPay() {
 		return useDownPay;
@@ -145,6 +142,22 @@ public class ResearchBriefReport extends DataEntity<ResearchBriefReport> {
 		this.useChoiceness = useChoiceness;
 	}
 
+	public String getWebTitle() {
+		return webTitle;
+	}
+
+	public void setWebTitle(String webTitle) {
+		this.webTitle = webTitle;
+	}
+
+	public String getReportCode() {
+		return reportCode;
+	}
+
+	public void setReportCode(String reportCode) {
+		this.reportCode = reportCode;
+	}
+
 	public Date getPublishDateStr() {
 		return publishDateStr;
 	}
@@ -224,4 +237,20 @@ public class ResearchBriefReport extends DataEntity<ResearchBriefReport> {
 	public void setNotId(String notId) {
 		this.notId = notId;
 	}
+
+	public String getOrderByStr() {
+		return orderByStr;
+	}
+
+	public void setOrderByStr(String orderByStr) {
+		this.orderByStr = orderByStr;
+	}
+
+	public List<ResearchBriefReportLabelRelevancy> getRelevancies() {
+		return relevancies;
+	}
+
+	public void setRelevancies(List<ResearchBriefReportLabelRelevancy> relevancies) {
+		this.relevancies = relevancies;
+	}
 }

+ 3 - 3
modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReportLabel.java

@@ -17,7 +17,7 @@ import java.util.List;
 		@Column(name="id", attrName="id", label="id", isPK=true),
 		@Column(includeEntity=DataEntity.class),
 		@Column(name="name", attrName="name", label="名称", queryType=QueryType.LIKE),
-		@Column(name="parent_id", attrName="parentId", label="上级id 可以选择多个"),
+		@Column(name="parent_id", attrName="parentId", label="上级id"),
 		@Column(name="level_num", attrName="levelNum", label="层次"),
 		@Column(name="sort_num", attrName="sortNum", label="排序"),
 	}, orderBy="a.update_date DESC"
@@ -26,7 +26,7 @@ public class ResearchBriefReportLabel extends DataEntity<ResearchBriefReportLabe
 	
 	private static final long serialVersionUID = 1L;
 	private String name;		// 名称
-	private String parentId;		// 上级id 可以选择多个
+	private String parentId;		// 上级id
 	private Integer levelNum;		// 层次
 	private Integer sortNum;		// 排序
 	private String parentName;
@@ -49,7 +49,7 @@ public class ResearchBriefReportLabel extends DataEntity<ResearchBriefReportLabe
 		this.name = name;
 	}
 	
-	@Size(min=0, max=1000, message="上级id 可以选择多个长度不能超过 1000 个字符")
+	@Size(min=0, max=64, message="上级id长度不能超过 64 个字符")
 	public String getParentId() {
 		return parentId;
 	}

+ 76 - 0
modules/report/src/main/java/com/jeesite/modules/report/entity/ResearchBriefReportLabelRelevancy.java

@@ -0,0 +1,76 @@
+package com.jeesite.modules.report.entity;
+
+import javax.validation.constraints.Size;
+
+import com.jeesite.common.entity.DataEntity;
+import com.jeesite.common.mybatis.annotation.Column;
+import com.jeesite.common.mybatis.annotation.Table;
+import com.jeesite.common.mybatis.mapper.query.QueryType;
+
+import java.util.List;
+
+/**
+ * 简报与分类关联Entity
+ * @author gg
+ * @version 2024-12-25
+ */
+@Table(name="research_brief_report_label_relevancy", alias="a", label="简报与分类关联信息", columns={
+		@Column(name="id", attrName="id", label="id", isPK=true),
+		@Column(includeEntity=DataEntity.class),
+		@Column(name="research_brief_report_id", attrName="researchBriefReportId", label="简报智库id"),
+		@Column(name="parent_lable_id", attrName="parentLableId", label="上级分类id"),
+		@Column(name="lable_id", attrName="lableId", label="标签id"),
+	}, orderBy="a.update_date DESC"
+)
+public class ResearchBriefReportLabelRelevancy extends DataEntity<ResearchBriefReportLabelRelevancy> {
+	
+	private static final long serialVersionUID = 1L;
+	private String researchBriefReportId;		// 简报智库id
+	private String parentLableId;		// 上级分类id
+	private String lableId;		// 标签id
+
+	private List<String> lableIds;
+
+	public ResearchBriefReportLabelRelevancy() {
+		this(null);
+	}
+	
+	public ResearchBriefReportLabelRelevancy(String id){
+		super(id);
+	}
+	
+	@Size(min=0, max=64, message="简报智库id长度不能超过 64 个字符")
+	public String getResearchBriefReportId() {
+		return researchBriefReportId;
+	}
+
+	public void setResearchBriefReportId(String researchBriefReportId) {
+		this.researchBriefReportId = researchBriefReportId;
+	}
+	
+	@Size(min=0, max=64, message="上级分类id长度不能超过 64 个字符")
+	public String getParentLableId() {
+		return parentLableId;
+	}
+
+	public void setParentLableId(String parentLableId) {
+		this.parentLableId = parentLableId;
+	}
+	
+	@Size(min=0, max=64, message="标签id长度不能超过 64 个字符")
+	public String getLableId() {
+		return lableId;
+	}
+
+	public void setLableId(String lableId) {
+		this.lableId = lableId;
+	}
+
+	public List<String> getLableIds() {
+		return lableIds;
+	}
+
+	public void setLableIds(List<String> lableIds) {
+		this.lableIds = lableIds;
+	}
+}

+ 84 - 0
modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportLabelRelevancyService.java

@@ -0,0 +1,84 @@
+package com.jeesite.modules.report.service;
+
+import java.util.List;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.jeesite.common.entity.Page;
+import com.jeesite.common.service.CrudService;
+import com.jeesite.modules.report.entity.ResearchBriefReportLabelRelevancy;
+import com.jeesite.modules.report.dao.ResearchBriefReportLabelRelevancyDao;
+
+/**
+ * 简报与分类关联Service
+ * @author gg
+ * @version 2024-12-25
+ */
+@Service
+public class ResearchBriefReportLabelRelevancyService extends CrudService<ResearchBriefReportLabelRelevancyDao, ResearchBriefReportLabelRelevancy> {
+	
+	/**
+	 * 获取单条数据
+	 * @param researchBriefReportLabelRelevancy
+	 * @return
+	 */
+	@Override
+	public ResearchBriefReportLabelRelevancy get(ResearchBriefReportLabelRelevancy researchBriefReportLabelRelevancy) {
+		return super.get(researchBriefReportLabelRelevancy);
+	}
+	
+	/**
+	 * 查询分页数据
+	 * @param researchBriefReportLabelRelevancy 查询条件
+	 * @param researchBriefReportLabelRelevancy.page 分页对象
+	 * @return
+	 */
+	@Override
+	public Page<ResearchBriefReportLabelRelevancy> findPage(ResearchBriefReportLabelRelevancy researchBriefReportLabelRelevancy) {
+		return super.findPage(researchBriefReportLabelRelevancy);
+	}
+	
+	/**
+	 * 查询列表数据
+	 * @param researchBriefReportLabelRelevancy
+	 * @return
+	 */
+	@Override
+	public List<ResearchBriefReportLabelRelevancy> findList(ResearchBriefReportLabelRelevancy researchBriefReportLabelRelevancy) {
+		return super.findList(researchBriefReportLabelRelevancy);
+	}
+	
+	/**
+	 * 保存数据(插入或更新)
+	 * @param researchBriefReportLabelRelevancy
+	 */
+	@Override
+	@Transactional
+	public void save(ResearchBriefReportLabelRelevancy researchBriefReportLabelRelevancy) {
+		super.save(researchBriefReportLabelRelevancy);
+	}
+	
+	/**
+	 * 更新状态
+	 * @param researchBriefReportLabelRelevancy
+	 */
+	@Override
+	@Transactional
+	public void updateStatus(ResearchBriefReportLabelRelevancy researchBriefReportLabelRelevancy) {
+		super.updateStatus(researchBriefReportLabelRelevancy);
+	}
+	
+	/**
+	 * 删除数据
+	 * @param researchBriefReportLabelRelevancy
+	 */
+	@Override
+	@Transactional
+	public void delete(ResearchBriefReportLabelRelevancy researchBriefReportLabelRelevancy) {
+		super.delete(researchBriefReportLabelRelevancy);
+	}
+
+	public long findAnyLableId(String id) {
+		return dao.findAnyLableId(id);
+	}
+}

+ 4 - 1
modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportLabelService.java

@@ -47,7 +47,10 @@ public class ResearchBriefReportLabelService extends CrudService<ResearchBriefRe
 	}
 
 	private ResearchBriefReportLabel convert(ResearchBriefReportLabel r) {
-		r.setParentName(dao.findNames(r.getParentId()));
+		ResearchBriefReportLabel label = super.get(r.getParentId());
+		if (label != null) {
+			r.setParentName(label.getName());
+		}
 		return r;
 	}
 

+ 41 - 13
modules/report/src/main/java/com/jeesite/modules/report/service/ResearchBriefReportService.java

@@ -9,9 +9,11 @@ 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.ResearchBriefReportLabelRelevancyDao;
 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.ResearchBriefReportLabelRelevancy;
 import com.jeesite.modules.report.entity.WebsiteUserOrder;
 import com.jeesite.modules.sys.utils.RedisUtil;
 import org.apache.commons.collections4.CollectionUtils;
@@ -20,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -37,6 +40,8 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
 	private RedisUtil redisUtil;
 	@Resource
 	private WebsiteUserOrderDao websiteUserOrderDao;
+	@Resource
+	private ResearchBriefReportLabelRelevancyDao researchBriefReportLabelRelevancyDao;
 
 	/**
 	 * 获取单条数据
@@ -66,8 +71,8 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
 	}
 
 	private ResearchBriefReport convert(ResearchBriefReport r) {
-		r.setTopLabelName(researchBriefReportLabelDao.findNames(r.getTopLabelId()));
-		r.setSecondLabelName(researchBriefReportLabelDao.findNames(r.getSecondLabelId()));
+		r.setTopLabelName(researchBriefReportLabelRelevancyDao.findNames(r.getId(), 1));
+		r.setSecondLabelName(researchBriefReportLabelRelevancyDao.findNames(r.getId(), 2));
 		return r;
 	}
 	
@@ -89,12 +94,36 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
 	@Transactional
 	public void save(ResearchBriefReport researchBriefReport) {
 		super.save(researchBriefReport);
-		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);
+		String reportId = researchBriefReport.getId();
+		//先删除行业分类
+		researchBriefReportLabelRelevancyDao.deleteResearchBriefReportId(reportId);
+		//在保存
+		saveRelevancie(reportId, researchBriefReport.getRelevancies());
+		FileUploadUtils.saveFileUpload(researchBriefReport,reportId, Constants.briefReport.BRIEFING_INFO_IMAGE);
+		FileUploadUtils.saveFileUpload(researchBriefReport,reportId,Constants.briefReport.BRIEFING_INFO_PREVIEW_PDF);
+		FileUploadUtils.saveFileUpload(researchBriefReport,reportId,Constants.briefReport.BRIEFING_INFO_PDF);
+		FileUploadUtils.saveFileUpload(researchBriefReport,reportId,Constants.briefReport.BRIEFING_INFO_PPT);
 	}
-	
+
+	private void saveRelevancie(String reportId, List<ResearchBriefReportLabelRelevancy> relevancies) {
+		if (CollectionUtils.isEmpty(relevancies)) {
+			return;
+		}
+		List<ResearchBriefReportLabelRelevancy> saveRelevancies = new ArrayList<>();
+		relevancies.stream().map(r -> {
+			r.getLableIds().stream().map(l -> {
+				ResearchBriefReportLabelRelevancy newRelevancie = new ResearchBriefReportLabelRelevancy();
+				newRelevancie.setResearchBriefReportId(reportId);
+				newRelevancie.setParentLableId(r.getParentLableId());
+				newRelevancie.setLableId(l);
+				saveRelevancies.add(newRelevancie);
+				return l;
+			}).collect(Collectors.toList());
+			return r;
+		}).collect(Collectors.toList());
+		researchBriefReportLabelRelevancyDao.insertBatch(saveRelevancies);
+	}
+
 	/**
 	 * 更新状态
 	 * @param researchBriefReport
@@ -113,10 +142,8 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
 	@Transactional
 	public void delete(ResearchBriefReport researchBriefReport) {
 		super.delete(researchBriefReport);
-	}
-
-	public long findAnyLableId(String id) {
-		return dao.findAnyLableId(id);
+		//删除行业分类
+		researchBriefReportLabelRelevancyDao.deleteResearchBriefReportId(researchBriefReport.getId());
 	}
 
 	public List<ResearchBriefReportLabel> marketTypeList() {
@@ -127,7 +154,7 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
 		//子级
 		List<ResearchBriefReportLabel> childList = researchBriefReportLabelDao.findChildList();
 		return list.stream().map(r -> {
-			r.setChildList(childList.stream().filter(rc -> rc.getParentId().contains(r.getId())).collect(Collectors.toList()));
+			r.setChildList(childList.stream().filter(rc -> rc.getParentId().equals(r.getId())).collect(Collectors.toList()));
 			return r;
 		}).collect(Collectors.toList());
 	}
@@ -174,7 +201,8 @@ public class ResearchBriefReportService extends CrudService<ResearchBriefReportD
 
 	public List<ResearchBriefReport> moreReportList(ResearchBriefReport where) {
 		where.setPageNo(1);
-		where.setPageSize(8);
+		where.setPageSize(5);
+		where.setOrderByStr("publish_date desc");
 		List<ResearchBriefReport> list = dao.findResearchBriefReportList(where);
 		return list.stream().map(r -> {
 			r.setImageFileName(convertFile(r.getId(), Constants.briefReport.BRIEFING_INFO_IMAGE));

+ 2 - 18
modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportController.java

@@ -38,8 +38,6 @@ public class ResearchBriefReportController extends BaseController {
 	@Autowired
 	private ResearchBriefReportService researchBriefReportService;
 	@Autowired
-	private ResearchBriefReportLabelService researchBriefReportLabelService;
-	@Autowired
 	private WebsiteUserOrderService websiteUserOrderService;
 	
 	/**
@@ -89,22 +87,8 @@ public class ResearchBriefReportController extends BaseController {
 	@PostMapping(value = "save")
 	@ResponseBody
 	public String save(@Validated ResearchBriefReport researchBriefReport) {
-		if (StringUtils.isEmpty(researchBriefReport.getTopLabelId())) {
-			return renderResult(Global.FALSE, text("一级标签为空!"));
-		}
-		if (StringUtils.isEmpty(researchBriefReport.getSecondLabelId())) {
-			return renderResult(Global.FALSE, text("二级标签为空!"));
-		}
-		ResearchBriefReportLabel researchBriefReportLabel = researchBriefReportLabelService.get(researchBriefReport.getTopLabelId());
-		if (researchBriefReportLabel == null) {
-			return renderResult(Global.FALSE, text("一级标签不存在!"));
-		}
-		ResearchBriefReportLabel researchBriefReportLabelTwo = researchBriefReportLabelService.get(researchBriefReport.getSecondLabelId());
-		if (researchBriefReportLabelTwo == null) {
-			return renderResult(Global.FALSE, text("二级标签不存在!"));
-		}
-		if (!researchBriefReportLabelTwo.getParentId().contains(researchBriefReportLabel.getId())) {
-			return renderResult(Global.FALSE, text("二级标签不属于一级标签下!"));
+		if (CollectionUtils.isEmpty(researchBriefReport.getRelevancies())) {
+			return renderResult(Global.FALSE, text("行业分类为空!"));
 		}
 		if (Constants.enableType.YES.equals(researchBriefReport.getUseChoiceness())) {
 			//判断是否超过两个精选

+ 6 - 3
modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportLabelController.java

@@ -7,6 +7,7 @@ import com.jeesite.common.entity.Page;
 import com.jeesite.common.lang.StringUtils;
 import com.jeesite.common.web.BaseController;
 import com.jeesite.modules.report.entity.ResearchBriefReportLabel;
+import com.jeesite.modules.report.service.ResearchBriefReportLabelRelevancyService;
 import com.jeesite.modules.report.service.ResearchBriefReportLabelService;
 import com.jeesite.modules.report.service.ResearchBriefReportService;
 import org.apache.commons.collections4.CollectionUtils;
@@ -38,6 +39,8 @@ public class ResearchBriefReportLabelController extends BaseController {
 	private ResearchBriefReportLabelService researchBriefReportLabelService;
 	@Autowired
 	private ResearchBriefReportService researchBriefReportService;
+	@Autowired
+	private ResearchBriefReportLabelRelevancyService researchBriefReportLabelRelevancyService;
 	
 	/**
 	 * 获取数据
@@ -82,7 +85,7 @@ public class ResearchBriefReportLabelController extends BaseController {
 		List<ResearchBriefReportLabel> list = researchBriefReportLabelService.findList(where);
 		for (int i = 0; i < list.size(); i++) {
 			ResearchBriefReportLabel e = list.get(i);
-			if (Integer.valueOf(1).equals(levelNum) && Integer.valueOf(1).equals(type) && researchBriefReportLabelService.findChildCount(e.getParentId()) <= 0) {
+			if (Integer.valueOf(1).equals(levelNum) && Integer.valueOf(1).equals(type) && researchBriefReportLabelService.findChildCount(e.getId()) <= 0) {
 				continue;
 			}
 			Map<String, Object> map = MapUtils.newHashMap();
@@ -92,7 +95,7 @@ public class ResearchBriefReportLabelController extends BaseController {
 			map.put("title", e.getName());
 			map.put("levelNum", e.getLevelNum());
 			map.put("sortNum", e.getSortNum());
-			map.put("isParent", list.stream().filter(r -> r.getParentId().contains(e.getId())).count() > 0);
+			map.put("isParent", list.stream().filter(r -> r.getParentId().equals(e.getId())).count() > 0);
 			mapList.add(map);
 		}
 		return mapList;
@@ -161,7 +164,7 @@ public class ResearchBriefReportLabelController extends BaseController {
 			return renderResult(Global.FALSE, text("简报分类下面还存在分类,无法删除!"));
 		}
 		//有没有研究报告使用
-		countNew = researchBriefReportService.findAnyLableId(id);
+		countNew = researchBriefReportLabelRelevancyService.findAnyLableId(id);
 		if (countNew > 0) {
 			return renderResult(Global.FALSE, text("简报分类下面还存在简报智库,无法删除!"));
 		}

+ 10 - 7
modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportDao.xml

@@ -22,9 +22,15 @@
         <if test="rr.publishDateStr != null">and publish_date >= #{rr.publishDateStr}</if>
         <if test="rr.publishDateEnd != null">and publish_date &lt; #{rr.publishDateEnd}</if>
         <if test="rr.outline != null and rr.outline != ''">and outline like concat('%',#{rr.outline},'%')</if>
+        <if test="rr.webTitle != null and rr.webTitle != ''">and web_title like concat('%',#{rr.webTitle},'%')</if>
+        <if test="rr.reportCode != null and rr.reportCode != ''">and report_code = #{rr.reportCode}</if>
         <if test="rr.marketType != null and rr.marketType != ''">and market_type = #{rr.marketType}</if>
-        <if test="rr.topLabelId != null and rr.topLabelId != ''">and top_label_id = #{rr.topLabelId}</if>
-        <if test="rr.secondLabelId != null and rr.secondLabelId != ''">and second_label_id = #{rr.secondLabelId}</if>
+        <if test="rr.topLabelId != null and rr.topLabelId != ''">
+            AND (EXISTS (
+            SELECT 1
+            FROM research_brief_report_label_relevancy lr
+            WHERE lr.research_brief_report_id = br.id AND lr.parent_lable_id = #{rr.topLabelId}))
+        </if>
         <if test="rr.useDownPay != null and rr.useDownPay != ''">and use_down_pay = #{rr.useDownPay}</if>
         <if test="rr.notId != null and rr.notId != ''">and id != #{rr.notId}</if>
         <if test="rr.useChoiceness != null and rr.useChoiceness != ''">and use_choiceness = #{rr.useChoiceness}</if>
@@ -32,13 +38,10 @@
 
     <select id="findResearchBriefReportList"
             resultType="com.jeesite.modules.report.entity.ResearchBriefReport">
-        select * from research_brief_report where status = '0'
+        select * from research_brief_report br where status = '0'
         <include refid="researchBriefReport_where"/>
-        order by update_date desc
+        order by ${rr.orderByStr}
         limit ${rr.pageSize * (rr.pageNo - 1)},${rr.pageSize}
     </select>
 
-    <select id="findAnyLableId" resultType="java.lang.Long">
-        select count(1) from research_brief_report where status = '0' and (top_label_id = #{id} or second_label_id = #{id})
-    </select>
 </mapper>

+ 1 - 5
modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportLabelDao.xml

@@ -45,7 +45,7 @@
             and a.sort_num = #{info.sortNum}
         </if>
         <if test="info.parentId != null and info.parentId != ''">
-            and FIND_IN_SET( #{info.parentId}, a.parent_id) > 0
+            and a.parent_id = #{info.parentId}
         </if>
     </sql>
 
@@ -55,10 +55,6 @@
         <include refid="whereStr02"/>
     </select>
 
-    <select id="findNames" resultType="java.lang.String">
-        select GROUP_CONCAT(name) from research_brief_report_label a where FIND_IN_SET( a.id, #{parentId}) > 0
-    </select>
-
     <select id="findChildList" resultType="com.jeesite.modules.report.entity.ResearchBriefReportLabel">
         select * from research_brief_report_label a
         where a.status = '0' and a.parent_id != '0'

+ 35 - 0
modules/report/src/main/resources/mappings/modules/report/ResearchBriefReportLabelRelevancyDao.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeesite.modules.report.dao.ResearchBriefReportLabelRelevancyDao">
+
+	<!-- 查询数据
+	<select id="findList" resultType="ResearchBriefReportLabelRelevancy">
+		SELECT ${sqlMap.column.toSql()}
+		FROM ${sqlMap.table.toSql()}
+		<where>
+			${sqlMap.where.toSql()}
+		</where>
+		ORDER BY ${sqlMap.order.toSql()}
+	</select> -->
+
+	<select id="findNames" resultType="java.lang.String">
+		select GROUP_CONCAT(DISTINCT rl.`name`) from research_brief_report_label_relevancy lr
+		 inner join research_brief_report br on br.id = lr.research_brief_report_id
+		<if test="type == 1">
+			INNER JOIN research_brief_report_label rl on rl.id = lr.parent_lable_id
+		</if>
+		<if test="type == 2">
+			INNER JOIN research_brief_report_label rl on rl.id = lr.lable_id
+		</if>
+		where lr.research_brief_report_id = #{id}
+	</select>
+
+	<select id="findAnyLableId" resultType="java.lang.Long">
+		select count(1) from research_brief_report_label_relevancy where parent_lable_id = #{id} or lable_id = #{id}
+	</select>
+
+	<delete id="deleteResearchBriefReportId">
+		delete from research_brief_report_label_relevancy
+		where research_brief_report_id = #{id}
+	</delete>
+</mapper>