From 734d9f78ed22b9f247b8613c92e00c764569a36a Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 14 Jul 2021 18:34:32 +0800
Subject: [PATCH] 通知接口修改

---
 src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml          |   24 ++++++++++++++++++++----
 src/main/java/org/springblade/modules/desk/vo/NoticeVO.java                 |   10 ++++++++++
 src/main/java/org/springblade/modules/desk/controller/NoticeController.java |   11 +++--------
 3 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/springblade/modules/desk/controller/NoticeController.java b/src/main/java/org/springblade/modules/desk/controller/NoticeController.java
index d513ec1..4ca5c2c 100644
--- a/src/main/java/org/springblade/modules/desk/controller/NoticeController.java
+++ b/src/main/java/org/springblade/modules/desk/controller/NoticeController.java
@@ -33,7 +33,9 @@
 import org.springblade.modules.desk.vo.NoticeVO;
 import org.springblade.modules.desk.wrapper.NoticeWrapper;
 import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IUserService;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -54,7 +56,7 @@
 
 	private final INoticeService noticeService;
 
-	private final IDeptService iDeptService;
+	private final IUserService userService;
 
 	/**
 	 * 详情
@@ -93,13 +95,6 @@
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入notice")
 	public R<IPage<NoticeVO>> page(@ApiIgnore NoticeVO notice, Query query) {
-		//通过deptId获取组织机构信息
-		Dept dept = iDeptService.getById(notice.getDeptId());
-//		if (dept.getDeptCategory() == 1) {
-//			notice.setCategory(1);
-//		} else {
-//			notice.setCategory(2);
-//		}
 		IPage<NoticeVO> pages = noticeService.selectNoticePage(Condition.getPage(query), notice);
 		return R.data(pages);
 	}
diff --git a/src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml b/src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml
index 8070788..81a3cf4 100644
--- a/src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml
+++ b/src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml
@@ -40,17 +40,33 @@
         d.dict_value AS categoryName
         FROM
         blade_notice n
-        LEFT JOIN ( SELECT * FROM blade_dict WHERE code = 'notice' ) d ON n.category = d.dict_key
+        LEFT JOIN
+            ( SELECT * FROM blade_dict WHERE code = 'notice' ) d
+        ON
+            n.category = d.dict_key
+        <if test="notice.deptId!=null and notice.jurisdiction!=null">
+            left join
+                blade_user bu
+            on
+                bu.dept_id = n.dept_id
+        </if>
         WHERE
-        n.is_deleted = 0 and n.tenant_id = #{notice.tenantId}
+        n.is_deleted = 0
         <if test="notice.title!=null">
             and n.title like concat(concat('%', #{notice.title}), '%')
         </if>
         <if test="notice.category!=null">
             and n.category = #{notice.category}
         </if>
-        <if test="notice.deptId!=null">
-            and (n.dept_id = #{notice.deptId} or n.category = 2)
+        <if test="notice.deptId!=null and notice.jurisdiction!=null">
+            and (n.dept_id = #{notice.deptId} or bu.jurisdiction = #{notice.jurisdiction}
+                or n.dept_id = 1123598813738675201
+            )
+        </if>
+        <if test="notice.deptId!=null and notice.jurisdiction==null">
+            and (n.dept_id = #{notice.deptId} and n.category=2
+            or n.dept_id = 1123598813738675201
+            )
         </if>
         <if test="notice.startTime!=null and notice.startTime!=''">
             and n.release_time &gt;= #{notice.startTime}
diff --git a/src/main/java/org/springblade/modules/desk/vo/NoticeVO.java b/src/main/java/org/springblade/modules/desk/vo/NoticeVO.java
index 4faee8c..dc324c8 100644
--- a/src/main/java/org/springblade/modules/desk/vo/NoticeVO.java
+++ b/src/main/java/org/springblade/modules/desk/vo/NoticeVO.java
@@ -30,4 +30,14 @@
 	 */
 	private String endTime;
 
+	/**
+	 * 行政区(辖区)id
+	 */
+	private Long jurisdiction;
+
+	/**
+	 * 用户id
+	 */
+	private Long userId;
+
 }

--
Gitblit v1.9.3