Browse Source

消息通知

丁治程 1 year ago
parent
commit
9e1ccc15de

+ 33 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.system.controller;
 
 import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -10,6 +11,7 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.constant.DataBaseConstant;
 import org.jeecg.common.constant.WebsocketConst;
+import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.SqlInjectionUtil;
 import org.jeecg.common.util.oConvertUtils;
@@ -51,6 +53,8 @@ public class SysAnnouncementSendController {
 	private ISysAnnouncementSendService sysAnnouncementSendService;
 	@Autowired
 	private WebSocket webSocket;
+	@Autowired
+	private ISysBaseAPI sysBaseAPI;
 
 	/**
 	  * 分页列表查询
@@ -232,6 +236,35 @@ public class SysAnnouncementSendController {
 	}
 
 	/**
+	*   author: dzc
+	*   version: 1.0
+	*   des: 消息管理 -- 消息通知(管理员角色查询所有的消息通知)
+	*   date: 2024/4/26
+	*/
+	@GetMapping(value = "/getAllAnnouncementSend")
+	public Result<IPage<AnnouncementSendModel>> getAllAnnouncementSend(AnnouncementSendModel announcementSendModel,
+																	  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+																	  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
+		Result<IPage<AnnouncementSendModel>> result = new Result<IPage<AnnouncementSendModel>>();
+		// 获取当前登录的用户
+		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+		// 当前登录用户 id
+		String userId = sysUser.getId();
+		// 获取当前用户的角色信息
+		List<String> roleList = sysBaseAPI.getRolesByUsername(sysUser.getUsername());
+		if (!roleList.contains("admin")){
+			announcementSendModel.setUserId(userId);
+		}
+		announcementSendModel.setPageNo((pageNo-1)*pageSize);
+		announcementSendModel.setPageSize(pageSize);
+		Page<AnnouncementSendModel> pageList = new Page<AnnouncementSendModel>(pageNo,pageSize);
+		pageList = sysAnnouncementSendService.getMyAnnouncementSendPage(pageList, announcementSendModel);
+		result.setResult(pageList);
+		result.setSuccess(true);
+		return result;
+	}
+
+	/**
 	 * @功能:一键已读
 	 * @return
 	 */

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml

@@ -44,7 +44,9 @@
 	   left join sys_announcement sa ON sas.annt_id = sa.id
 	   where sa.send_status = '1'
 	   and sa.del_flag = '0'
-	   and sas.user_id = #{announcementSendModel.userId}
+	   <if test="announcementSendModel.userId !=null and announcementSendModel.userId != ''">
+			and sas.user_id = #{announcementSendModel.userId}
+	   </if>
 	   <if test="announcementSendModel.titile !=null and announcementSendModel.titile != ''">
 	   		and sa.titile LIKE concat(concat('%',#{announcementSendModel.titile}),'%')
 	   </if>

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/model/AnnouncementSendModel.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -24,6 +25,7 @@ public class AnnouncementSendModel implements Serializable {
 	/**通告id*/
 	private java.lang.String anntId;
 	/**用户id*/
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
 	private java.lang.String userId;
 	/**标题*/
 	private java.lang.String titile;