zouxuan il y a 5 ans
Parent
commit
d1598eeb4b

+ 7 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/dal/dao/SysUserRoleDao.java

@@ -28,4 +28,11 @@ public interface SysUserRoleDao extends BaseDAO<Integer, SysUserRole> {
 	 * @return
 	 */
 	int delete(SysUserRole sysUserRole);
+
+	/**
+	 * 当前角色是否有关联的用户
+	 * @param id
+	 * @return
+	 */
+    Integer countRoleUser(Integer id);
 }

+ 6 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/SysMessageService.java

@@ -150,4 +150,10 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param content
 	 */
 	void sendNoAuthPrivateMessage(String sender, String receiver, String content);
+
+	/**
+	 * 删除消息
+	 * @param ids
+	 */
+    void batchDelMessage(String ids);
 }

+ 5 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/impl/SysMessageServiceImpl.java

@@ -226,6 +226,11 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
+	public void batchDelMessage(String ids) {
+		sysMessageDao.batchDelMessage(ids);
+	}
+
+	@Override
 	@Async
 	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
 									Integer readStatus, String memo, String group, String jpushType) {

+ 9 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/impl/SysRoleServiceImpl.java

@@ -3,6 +3,8 @@ package com.keao.edu.auth.service.impl;
 import java.util.Date;
 import java.util.List;
 
+import com.keao.edu.auth.dal.dao.SysUserRoleDao;
+import com.keao.edu.common.exception.BizException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,6 +22,8 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Autowired
 	private SysRoleDao sysRoleDao;
 	@Autowired
+	private SysUserRoleDao sysUserRoleDao;
+	@Autowired
 	private SysRoleMenuDao sysRoleMenuDao;
 
 	@Override
@@ -56,6 +60,11 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void delRole(Integer id) {
+		//是否有关联的用户
+		int num = sysUserRoleDao.countRoleUser(id);
+		if(num > 0){
+			throw new BizException("删除失败:当前角色有关联的用户");
+		}
 		sysRoleDao.delete(id);
 		sysRoleMenuDao.deleteAllMenu(id);
 	}

+ 62 - 7
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/web/controller/SysMessageController.java

@@ -1,18 +1,19 @@
 package com.keao.edu.auth.web.controller;
 
+import com.keao.edu.auth.api.client.SysUserFeignService;
 import com.keao.edu.auth.api.entity.SysMessageParams;
+import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.auth.service.SysMessageService;
+import com.keao.edu.auth.web.controller.queryInfo.SysMessageQueryInfo;
 import com.keao.edu.common.controller.BaseController;
-import com.keao.edu.common.enums.MessageTypeEnum;
-import com.keao.edu.thirdparty.message.MessageSenderPluginContext;
+import com.keao.edu.common.entity.SysMessage;
+import com.keao.edu.common.enums.MessageSendMode;
+import com.keao.edu.common.page.PageInfo;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @Author Joburgess
@@ -25,6 +26,8 @@ public class SysMessageController extends BaseController {
 
     @Autowired
     private SysMessageService sysMessageService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "发送消息")
     @PostMapping(value = "/batchSendMessage")
@@ -34,4 +37,56 @@ public class SysMessageController extends BaseController {
                 sysMessageParams.getArgs());
     }
 
+    @ApiOperation(value = "删除消息")
+    @PostMapping(value = "/batchDelMessage")
+    public void batchDelMessage(String ids){
+        sysMessageService.batchDelMessage(ids);
+    }
+
+    @ApiOperation(value = "查询用户未读消息条数")
+    @GetMapping("/queryCountOfUnread")
+    public Object queryCountOfUnread() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId()));
+    }
+
+    @ApiOperation("一键已读")
+    @PostMapping("batchSetRead")
+    public Object batchSetRead() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(sysMessageService.updateStatus(sysUser.getId(), 1));
+    }
+
+    @ApiOperation("设置已读")
+    @PostMapping("setRead")
+    public Object setRead(Long id) {
+        int status = 1;
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(sysMessageService.updateOneStatus(id, status));
+    }
+
+    @ApiOperation("获取所有消息列表")
+    @GetMapping(value = "list")
+    public Object list(SysMessageQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        if(!sysUser.getIsSuperAdmin()){
+            queryInfo.setUserId(sysUser.getId());
+        }
+        queryInfo.setType(MessageSendMode.SEO.getCode());
+        PageInfo<SysMessage> pageInfo = sysMessageService.queryPage(queryInfo);
+        return succeed(pageInfo);
+    }
+
 }

+ 84 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/web/controller/queryInfo/SysMessageQueryInfo.java

@@ -0,0 +1,84 @@
+package com.keao.edu.auth.web.controller.queryInfo;
+
+import com.keao.edu.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class SysMessageQueryInfo extends QueryInfo {
+
+	/** 状态,0,待发送;1,发送中;2,发送完成 */
+	@ApiModelProperty(value = "状态,0,待发送;1,发送中;2,发送完成 ",required = false)
+	private Integer status;
+
+	@ApiModelProperty(value = "接收人编号",required = false)
+	private String receiver;
+
+	@ApiModelProperty(value = "发送人编号",required = false)
+	private Integer userId;
+
+	@ApiModelProperty(value = "标题",required = false)
+	private String title;
+
+	@ApiModelProperty(value = "消息类型;1,表示短信;2,表示邮件; 3,app推送消息",required = false)
+	private Integer type;
+	
+	private String group;
+	
+	private Integer readStatus;
+
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public String getReceiver() {
+		return receiver;
+	}
+
+	public void setReceiver(String receiver) {
+		this.receiver = receiver;
+	}
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public Integer getType() {
+		return type;
+	}
+
+	public void setType(Integer type) {
+		this.type = type;
+	}
+
+	public String getGroup() {
+		return group;
+	}
+
+	public void setGroup(String group) {
+		this.group = group;
+	}
+
+	public Integer getReadStatus() {
+		return readStatus;
+	}
+
+	public void setReadStatus(Integer readStatus) {
+		this.readStatus = readStatus;
+	}
+
+}

+ 4 - 1
edu-auth/edu-auth-server/src/main/resources/config/mybatis/SysMessageMapper.xml

@@ -69,8 +69,11 @@
 		where
 		id_ = #{id,jdbcType=BIGINT}
 	</delete>
+    <delete id="batchDelMessage">
+		DELETE FROM sys_message WHERE FIND_IN_SET(id_,#{ids})
+	</delete>
 
-	<insert id="insert" parameterType="com.keao.edu.common.entity.SysMessage">
+    <insert id="insert" parameterType="com.keao.edu.common.entity.SysMessage">
 		insert into sys_message (user_id_,title_, content_,type_, receiver_,
 		send_time_, error_msg_,memo_, create_on_,modify_on_,group_)
 		values (#{userId}, #{title},#{content},#{type,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler}, #{receiver},now(),#{errorMsg},#{memo},now(),now(),#{group})

+ 3 - 0
edu-auth/edu-auth-server/src/main/resources/config/mybatis/SysUserRoleMapper.xml

@@ -55,4 +55,7 @@
     <select id="queryRoleCodeListByUserId" resultType="string" parameterType="int">
 		SELECT r.role_code_ FROM sys_user_role ur left join sys_role r on ur.role_id_ = r.id_ where ur.user_id_ = #{userId} and r.del_flag_ = 0
 	</select>
+    <select id="countRoleUser" resultType="java.lang.Integer">
+        SELECT COUNT(1) FROM sys_user_role WHERE role_id_ = #{id}
+    </select>
 </mapper>

+ 6 - 0
edu-common/src/main/java/com/keao/edu/common/dao/SysMessageDao.java

@@ -44,4 +44,10 @@ public interface SysMessageDao extends BaseDAO<Long, SysMessage> {
 	 * 修改单个消息状态
 	 */
 	public int updateOneStatus(@Param("id") Long id, @Param("status") int status);
+
+	/**
+	 * 删除消息
+	 * @param ids
+	 */
+    void batchDelMessage(String ids);
 }