LIVE_YE 2 anni fa
parent
commit
3ab5a09f6c

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/kaoqin/RecordInfoController.java

@@ -116,7 +116,7 @@ public class  RecordInfoController extends BaseController
     /**
      * 将消息改为已读状态
      */
-    @GetMapping("isChange")
+    //@GetMapping("isChange")
     public AjaxResult isChange(Long[] ids)
     {
         return toAjax(recordInfoService.isChange(ids));

+ 7 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -78,6 +78,7 @@ public class SysUserController extends BaseController
         if(user.getDeptId()==null || user.getDeptId()==0l){
             user.setDeptId(users.getDeptId());
         }
+        user.setApplyFor("1");
         List<SysUser> list = userService.selectUserList(user);
         return getDataTable(list);
     }
@@ -107,7 +108,7 @@ public class SysUserController extends BaseController
         return userService.updateApplyFor(user,id);
     }
 
-    /***
+    /*** 废弃
      * 查询申请人是否有部门变更申请
      * @param
      * @return
@@ -128,10 +129,10 @@ public class SysUserController extends BaseController
      * @return
      */
     @GetMapping("/reply")
-    public AjaxResult reply(String status)
+    public AjaxResult reply(String status,Long id)
     {
         //修改被申请人信息
-        return userService.reply(status);
+        return userService.reply(status,id);
     }
 
     @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@@ -166,7 +167,6 @@ public class SysUserController extends BaseController
     /**
      * 根据用户编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:user:query')")
     @GetMapping(value = { "/", "/{userId}" })
     public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
     {
@@ -398,7 +398,9 @@ public class SysUserController extends BaseController
     @GetMapping("/reset")
     public AjaxResult reset(Long id)
     {
-
+        if (id == 1L){
+            return AjaxResult.success("不允许操作超级管理员");
+        }
         return toAjax(userService.reset(id));
     }
 

+ 34 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordInfo.java

@@ -26,6 +26,16 @@ public class RecordInfo extends BaseEntity
     @Excel(name = "内容")
     private String content;
 
+    /** 部门id */
+    private Long deptId;
+
+    /** 部门名称 */
+    private String deptName;
+
+    /** 最上级部门名称 */
+    private String topDept;
+
+
     /** 发件人id */
     private String senderId;
 
@@ -130,6 +140,30 @@ public class RecordInfo extends BaseEntity
         return infoType;
     }
 
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public String getTopDept() {
+        return topDept;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public void setTopDept(String topDept) {
+        this.topDept = topDept;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecordInfoMapper.java

@@ -63,4 +63,6 @@ public interface RecordInfoMapper
     RecordInfo selectNewApplyFor(@Param("addresseeId") String addresseeId, @Param("infoType") String infoType);
 
     int updateRecordInfoIsChange(Long[] ids);
+
+    void updateIsReadByAddresseeId(String userId);
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -238,7 +238,7 @@ public interface ISysUserService
 
     AjaxResult updateApplyFor(SysUser user, Long id);
 
-    AjaxResult reply(String status);
+    AjaxResult reply(String status,Long id);
 
     AjaxResult query(SysUser user);
 

+ 26 - 13
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -1,9 +1,6 @@
 package com.ruoyi.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import javax.validation.Validator;
 
@@ -596,7 +593,7 @@ public class SysUserServiceImpl implements ISysUserService
 
         SysUser applyForUser = new SysUser();
         applyForUser.setUserId(id);
-        applyForUser.setDeptId(user.getDeptId());
+        //applyForUser.setDeptId(user.getDeptId());
         applyForUser.setApplyFor("0");
         userMapper.updateUser(applyForUser);
 
@@ -606,12 +603,23 @@ public class SysUserServiceImpl implements ISysUserService
         RecordInfo recordInfo = new RecordInfo();
         recordInfo.setTitle("部门申请");
         StringBuilder sb = new StringBuilder();
-        sb.append(user.getUserName()).append("邀请您加入").append(dept.getDeptName());
-        recordInfo.setContent("");
+        sb.append(user.getNickName()).append("邀请您加入").append(dept.getDeptName());
+        recordInfo.setContent(sb.toString());
+        recordInfo.setDeptId(user.getDeptId());
+        recordInfo.setDeptName(user.getDept().getDeptName());
+        //寻找最上级部门
+        if("0".equals(user.getDept().getAncestors())){
+            recordInfo.setTopDept(user.getDept().getDeptName());
+        }else{
+            List<String> strList = Arrays.asList(user.getDept().getAncestors().split(","));
+            Long topDeptId = Long.valueOf(strList.get(1));
+            SysDept sysDeptA = deptMapper.selectDeptById(topDeptId);
+            recordInfo.setTopDept(sysDeptA.getDeptName());
+        }
         recordInfo.setSenderId(String.valueOf(user.getUserId()));
-        recordInfo.setSenderName(user.getUserName());
+        recordInfo.setSenderName(user.getNickName());
         recordInfo.setAddresseeId(String.valueOf(id));
-        recordInfo.setAddresseeName(users.getUserName());
+        recordInfo.setAddresseeName(users.getNickName());
         recordInfo.setIsRead("0");
         recordInfo.setInfoType("1");
         recordInfo.setCreateBy(user.getUserName());
@@ -621,25 +629,29 @@ public class SysUserServiceImpl implements ISysUserService
     }
 
     @Override
-    public AjaxResult reply(String status) {
+    public AjaxResult reply(String status,Long id) {
         SysUser user = SecurityUtils.getLoginUser().getUser();
         //查询当前用户最新的一次部门更换邀请
-        RecordInfo recordInfo = recordInfoMapper.selectNewApplyFor(String.valueOf(user.getUserId()),"1");
+        RecordInfo recordInfo = recordInfoMapper.selectRecordInfoById(id);
         //修改消息状态
-        recordInfo.setIsRead("1");
+        recordInfo.setIsRead(status);
         recordInfoMapper.updateRecordInfo(recordInfo);
 
         //修改人员应答状态
         SysUser applyForUser = new SysUser();
-        if("0".equals(status)){
+        if("1".equals(status)){
             applyForUser.setUserId(user.getUserId());
             applyForUser.setDeptId(0L);
             userMapper.updateUser(applyForUser);
             return AjaxResult.success("已拒绝");
         }else{
             applyForUser.setUserId(user.getUserId());
+            applyForUser.setDeptId(recordInfo.getDeptId());
             applyForUser.setApplyFor("1");
             userMapper.updateUser(applyForUser);
+            //将其他未处理的邀请消息改为已拒绝
+            recordInfoMapper.updateIsReadByAddresseeId(String.valueOf(user.getUserId()));
+
             return AjaxResult.success("已同意");
         }
 
@@ -692,6 +704,7 @@ public class SysUserServiceImpl implements ISysUserService
         SysUser applyForUser = new SysUser();
         applyForUser.setUserId(id);
         applyForUser.setDeptId(0L);
+        applyForUser.setApplyFor("0");
         return userMapper.updateUser(applyForUser);
     }
 }

+ 20 - 2
ruoyi-system/src/main/resources/mapper/system/RecordInfoMapper.xml

@@ -8,6 +8,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="id"    column="id"    />
         <result property="title"    column="title"    />
         <result property="content"    column="content"    />
+
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName"    column="dept_name"    />
+        <result property="topDept"    column="top_dept"    />
+
         <result property="senderId"    column="sender_id"    />
         <result property="senderName"    column="sender_name"    />
         <result property="addresseeId"    column="addressee_id"    />
@@ -22,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectRecordInfoVo">
-        select id, title, content, sender_id, sender_name, addressee_id, addressee_name, is_read, info_type, create_by, create_time, update_by, update_time, remark from record_info
+        select id, title, content,dept_id,dept_name,top_dept, sender_id, sender_name, addressee_id, addressee_name, is_read, info_type, create_by, create_time, update_by, update_time, remark from record_info
     </sql>
 
     <select id="selectRecordInfoList" parameterType="RecordInfo" resultMap="RecordInfoResult">
@@ -48,6 +53,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="title != null">title,</if>
             <if test="content != null">content,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="deptName != null">dept_name,</if>
+            <if test="topDept != null">top_dept,</if>
             <if test="senderId != null">sender_id,</if>
             <if test="senderName != null">sender_name,</if>
             <if test="addresseeId != null">addressee_id,</if>
@@ -62,6 +70,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="title != null">#{title},</if>
             <if test="content != null">#{content},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="deptName != null">#{deptName},</if>
+            <if test="topDept != null">#{topDept},</if>
             <if test="senderId != null">#{senderId},</if>
             <if test="senderName != null">#{senderName},</if>
             <if test="addresseeId != null">#{addresseeId},</if>
@@ -80,6 +91,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="SET" suffixOverrides=",">
             <if test="title != null">title = #{title},</if>
             <if test="content != null">content = #{content},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="deptName != null">dept_name = #{deptName},</if>
+            <if test="topDept != null">top_dept = #{topDept},</if>
             <if test="senderId != null">sender_id = #{senderId},</if>
             <if test="senderName != null">sender_name = #{senderName},</if>
             <if test="addresseeId != null">addressee_id = #{addresseeId},</if>
@@ -106,7 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </delete>
 
-    <select id="selectNewApplyFor" parameterType="Long" resultMap="RecordInfoResult">
+    <select id="selectNewApplyFor" parameterType="RecordInfo" resultMap="RecordInfoResult">
         <include refid="selectRecordInfoVo"/>
         where addressee_id = #{addresseeId}
         and info_type = #{infoType}
@@ -121,4 +135,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </update>
 
+    <update id="updateIsReadByAddresseeId" parameterType="String">
+        update record_info set is_read = '1' where addressee_id = #{userId} and is_read = '0'
+    </update>
+
 </mapper>