From af0e0a110e7187bf008655f7510199a0c0b25ec4 Mon Sep 17 00:00:00 2001 From: Nymph2333 <498092988@qq.com> Date: 星期一, 10 四月 2023 14:27:40 +0800 Subject: [PATCH] newInstance() 已弃用,使用clazz.getDeclaredConstructor().newInstance() This method propagates any exception thrown by the nullary constructor, including a checked exception. Use of this method effectively bypasses the compile-time exception checking that would otherwise be performed by the compiler. The Constructor.newInstance method avoids this problem by wrapping any exception thrown by the constructor in a (checked) InvocationTargetException. The call clazz.newInstance() can be replaced by clazz.getDeclaredConstructor().newInstance() The latter sequence of calls is inferred to be able to throw the additional exception types InvocationTargetException and NoSuchMethodException. Both of these exception types are subclasses of ReflectiveOperationException. --- ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml | 38 +++++++++++++++++++++----------------- 1 files changed, 21 insertions(+), 17 deletions(-) diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml index 36c2aa5..7a6fc15 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -30,6 +30,9 @@ <select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult"> <include refid="selectDeptVo"/> where d.del_flag = '0' + <if test="deptId != null and deptId != 0"> + AND dept_id = #{deptId} + </if> <if test="parentId != null and parentId != 0"> AND parent_id = #{parentId} </if> @@ -44,18 +47,22 @@ order by d.parent_id, d.order_num </select> - <select id="selectDeptListByRoleId" parameterType="Long" resultType="Integer"> - select d.dept_id, d.parent_id + <select id="selectDeptListByRoleId" resultType="Long"> + select d.dept_id from sys_dept d left join sys_role_dept rd on d.dept_id = rd.dept_id where rd.role_id = #{roleId} - and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId}) + <if test="deptCheckStrictly"> + and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId}) + </if> order by d.parent_id, d.order_num </select> <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult"> - <include refid="selectDeptVo"/> - where dept_id = #{deptId} + select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, + (select dept_name from sys_dept where dept_id = d.parent_id) parent_name + from sys_dept d + where d.dept_id = #{deptId} </select> <select id="checkDeptExistUser" parameterType="Long" resultType="int"> @@ -77,7 +84,7 @@ <select id="checkDeptNameUnique" resultMap="SysDeptResult"> <include refid="selectDeptVo"/> - where dept_name=#{deptName} and parent_id = #{parentId} limit 1 + where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 </select> <insert id="insertDept" parameterType="SysDept"> @@ -86,7 +93,7 @@ <if test="parentId != null and parentId != 0">parent_id,</if> <if test="deptName != null and deptName != ''">dept_name,</if> <if test="ancestors != null and ancestors != ''">ancestors,</if> - <if test="orderNum != null and orderNum != ''">order_num,</if> + <if test="orderNum != null">order_num,</if> <if test="leader != null and leader != ''">leader,</if> <if test="phone != null and phone != ''">phone,</if> <if test="email != null and email != ''">email,</if> @@ -98,7 +105,7 @@ <if test="parentId != null and parentId != 0">#{parentId},</if> <if test="deptName != null and deptName != ''">#{deptName},</if> <if test="ancestors != null and ancestors != ''">#{ancestors},</if> - <if test="orderNum != null and orderNum != ''">#{orderNum},</if> + <if test="orderNum != null">#{orderNum},</if> <if test="leader != null and leader != ''">#{leader},</if> <if test="phone != null and phone != ''">#{phone},</if> <if test="email != null and email != ''">#{email},</if> @@ -114,7 +121,7 @@ <if test="parentId != null and parentId != 0">parent_id = #{parentId},</if> <if test="deptName != null and deptName != ''">dept_name = #{deptName},</if> <if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if> - <if test="orderNum != null and orderNum != ''">order_num = #{orderNum},</if> + <if test="orderNum != null">order_num = #{orderNum},</if> <if test="leader != null">leader = #{leader},</if> <if test="phone != null">phone = #{phone},</if> <if test="email != null">email = #{email},</if> @@ -138,14 +145,11 @@ </foreach> </update> - <update id="updateDeptStatus" parameterType="SysDept"> - update sys_dept - <set> - <if test="status != null and status != ''">status = #{status},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where dept_id in (${ancestors}) + <update id="updateDeptStatusNormal" parameterType="Long"> + update sys_dept set status = '0' where dept_id in + <foreach collection="array" item="deptId" open="(" separator="," close=")"> + #{deptId} + </foreach> </update> <delete id="deleteDeptById" parameterType="Long"> -- Gitblit v1.9.2