From 33fdb033e0a6b5ef6b2f8ac5fc67ad8222e564e5 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 17 五月 2024 14:49:12 +0800
Subject: [PATCH] 下载文件接口,bug修改
---
src/main/resources/mapper/UserMapper.xml | 444 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 282 insertions(+), 162 deletions(-)
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index a785fac..2a28d9a 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -23,7 +23,7 @@
</resultMap>
<sql id="Base_Column_List">
id, user_uuid, user_name, password, real_name, age, sex, birth_day, user_level, phone,
- role, status, image_path, create_time, modify_time, last_active_time, deleted, wx_open_id
+ role, status, image_path, create_time, modify_time, last_active_time, deleted, wx_open_id, `condition`, condition_detail
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
@@ -220,6 +220,9 @@
<if test="wxOpenId != null">
wx_open_id = #{wxOpenId,jdbcType=VARCHAR},
</if>
+ <if test="deptAdmin != null">
+ dept_admin = #{deptAdmin},
+ </if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
@@ -241,197 +244,314 @@
modify_time = #{modifyTime,jdbcType=TIMESTAMP},
last_active_time = #{lastActiveTime,jdbcType=TIMESTAMP},
deleted = #{deleted,jdbcType=BIT},
- wx_open_id = #{wxOpenId,jdbcType=VARCHAR}
+ wx_open_id = #{wxOpenId,jdbcType=VARCHAR},
+ dept_admin = #{deptAdmin}
where id = #{id,jdbcType=INTEGER}
</update>
+ <select id="getAllUser" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user where deleted=0
+ </select>
- <select id="getAllUser" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List"/>
- from t_user where deleted=0
- </select>
-
- <select id="getUserByLevel" resultMap="BaseResultMap">
- select
- id,real_name
- from t_user where deleted=0 and user_level = #{userLevel}
- </select>
+ <select id="getUserByLevel" resultMap="BaseResultMap">
+ select id,
+ real_name
+ from t_user
+ where deleted = 0
+ and user_level = #{userLevel}
+ </select>
<select id="getUserById" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from t_user
- where id=#{value}
+ where id=#{value} and status = 1 and deleted = 0 and (`condition` = 0 or `condition` is null)
</select>
- <select id="getUserByUserName" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List"/>
- from t_user
- where deleted=0 and user_name=#{value} limit 1
- </select>
+ <select id="getUserByUserName" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user
+ where deleted=0 and user_name=#{value} limit 1
+ </select>
- <select id="getUserByRealName" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List"/>
- from t_user
- where deleted=0 and real_name = #{realName}
- </select>
+ <select id="getUserByRealName" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user
+ where deleted=0 and real_name = #{realName}
+ </select>
- <select id="getUserByUserNamePwd" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List"/>
- from t_user
- where deleted=0 and user_name=#{username} and password=#{pwd} limit 1
- </select>
+ <select id="getUserByUserNamePwd" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user
+ where deleted=0 and user_name=#{username} and password=#{pwd} limit 1
+ </select>
- <select id="getUserByUuid" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List"/>
- from t_user
- where deleted=0 and user_uuid=#{value,jdbcType=VARCHAR}
- </select>
+ <select id="getUserByUuid" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user
+ where deleted=0 and user_uuid=#{value,jdbcType=VARCHAR}
+ </select>
- <select id="userPageList" resultMap="BaseResultMap">
- SELECT
- <include refid="Base_Column_List"/>
- FROM t_user
+ <select id="userPageList" resultMap="BaseResultMap">
+ SELECT
+ <include refid="Base_Column_List"/>
+ FROM t_user
+ <where>
+ and deleted=0
+ <if test="name != null and name != ''">
+ and real_name like concat('%',#{name},'%')
+ </if>
+ </where>
+ ORDER BY id
+ <if test="offset != null and limit != null ">
+ <bind name="patternAdd" value="limit*offset"/>
+ limit #{limit} OFFSET #{offset}
+ </if>
+ </select>
+
+
+ <select id="userPageCount" resultType="java.lang.Integer">
+ select count(*) from t_user
+ <where>
+ and deleted=0
+ <if test="name != null and name != ''">
+ and real_name like concat('%', #{name}, '%')
+ </if>
+ </where>
+ </select>
+
+
+ <select id="userPage" resultMap="BaseResultMap"
+ parameterType="com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM">
+ SELECT
+ a.*
+ FROM t_user a
+ lEFT join
+ (select * from t_user_department
+ <if test="departmentId != null and departmentId.size() > 0">
+ where department_id in <foreach collection="departmentId" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach>
+ </if>
+ group by user_id
+ )
+ b on a.id = b.user_id
+ where
+ a.deleted=0
+ <if test="departmentId != null and departmentId.size() > 0">
+ and b.department_id in <foreach collection="departmentId" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach>
+ </if>
+ <if test="userName != null and userName != ''">
+ and real_name like concat('%',#{userName},'%')
+ </if>
+ <if test="role != null ">
+ and role= #{role}
+ </if>
+ </select>
+
+
+ <insert id="insertUser" parameterType="com.mindskip.xzs.domain.User"
+ useGeneratedKeys="true" keyProperty="id">
+ insert into t_user
+ (user_uuid, user_name, password, real_name, age, last_active_time)
+ values (#{userUuid,jdbcType=VARCHAR}, #{userName}, #{password}, #{realName}, #{age}, #{lastActiveTime})
+ </insert>
+
+ <insert id="insertUsers" parameterType="java.util.List"
+ useGeneratedKeys="true" keyProperty="id">
+ insert into t_user
+ (user_uuid,user_name,password,real_name,last_active_time,role,status,user_level,deleted)
+ values
+ <foreach collection="list" item="item"
+ separator=",">
+ (#{item.userUuid,jdbcType=VARCHAR},#{item.userName,jdbcType=VARCHAR},#{item.password,jdbcType=VARCHAR},#{item.realName,jdbcType=VARCHAR},
+ #{item.lastActiveTime},#{item.role},#{item.status},#{item.userLevel},0)
+ </foreach>
+ </insert>
+
+
+ <update id="updateUser" parameterType="com.mindskip.xzs.domain.User">
+ update t_user
+ <set>
+ <if test="realName != null">real_name = #{realName},</if>
+ <if test="age != null">age = #{age},</if>
+ <if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
+ </set>
+ where id = #{id}
+ </update>
+
+
+ <update id="updateUsersAge">
+ update t_user set age = #{age} where id in
+ <foreach item="id" collection="idslist" open="(" separator=","
+ close=")">
+ #{id}
+ </foreach>
+ </update>
+
+
+ <delete id="deleteUsersByIds">
+ delete from t_user where id in
+ <foreach item="id" collection="list" open="(" separator=","
+ close=")">
+ #{id}
+ </foreach>
+ </delete>
+
+ <select id="selectAllCount" resultType="java.lang.Integer">
+ SELECT count(*)
+ from t_user
+ where deleted = 0
+ </select>
+
+
+ <select id="selectByUserName" resultType="com.mindskip.xzs.domain.other.KeyValue">
+ SELECT id as value,user_name as name
+ from t_user
+ where deleted=0
+ and user_name like concat('%'
+ , #{value}
+ , '%')
+ limit 5
+ </select>
+
+
+ <select id="selectByIds" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user
+ where id in
+ <foreach item="id" collection="list" open="(" separator=","
+ close=")">
+ #{id}
+ </foreach>
+ </select>
+
+
+ <select id="selectByWxOpenId" parameterType="java.lang.String" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user
+ where deleted=0 and wx_open_id = #{wxOpenId}
+ limit 1
+ </select>
+
+ <select id="selectByIdName" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from t_user
+ <where>
+ and deleted=0 and id = #{id}
+ <if test="userName != null and userName != ''">
+ and user_name like concat('%',#{userName},"%")
+ </if>
+ </where>
+ </select>
+
+
+ <update id="updateDeptAdmin">
+ UPDATE t_user_department SET dept_admin = #{deptAdmin}
<where>
- and deleted=0
- <if test="name != null and name != ''">
- and real_name like concat('%',#{name},'%')
+ <if test="ids != null and ids.size > 0">
+ AND user_id in
+ <foreach collection="ids" open="(" separator="," close=")" item="id">
+ #{id}
+ </foreach>
</if>
+ AND department_id = #{deptId}
</where>
- ORDER BY id
- <if test="offset != null and limit != null ">
- <bind name="patternAdd" value="limit*offset"/>
- limit #{limit} OFFSET #{offset}
- </if>
- </select>
-
-
- <select id="userPageCount" resultType="java.lang.Integer">
- select count(*) from t_user
- <where>
- and deleted=0
- <if test="name != null and name != ''">
- and real_name like concat('%', #{name}, '%')
- </if>
- </where>
- </select>
-
-
- <select id="userPage" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM">
- SELECT
- <include refid="Base_Column_List"/>
- FROM t_user
- <where>
- and deleted=0
- <if test="userName != null and userName != ''">
- and user_name like concat('%',#{userName},'%')
- </if>
- <if test="role != null ">
- and role= #{role}
- </if>
- </where>
- </select>
-
-
-
- <insert id="insertUser" parameterType="com.mindskip.xzs.domain.User"
- useGeneratedKeys="true" keyProperty="id">
- insert into t_user
- (user_uuid,user_name,password,real_name,age, last_active_time)
- values
- (#{userUuid,jdbcType=VARCHAR},#{userName},#{password},#{realName},#{age},#{lastActiveTime})
- </insert>
-
- <insert id="insertUsers" parameterType="java.util.List"
- useGeneratedKeys="true" keyProperty="id">
- insert into t_user
- (user_uuid,user_name,password,real_name,last_active_time,role,status,user_level,deleted)
- values
- <foreach collection="list" item="item"
- separator=",">
- (#{item.userUuid,jdbcType=VARCHAR},#{item.userName,jdbcType=VARCHAR},#{item.password,jdbcType=VARCHAR},#{item.realName,jdbcType=VARCHAR},
- #{item.lastActiveTime},#{item.role},#{item.status},#{item.userLevel},0)
- </foreach>
- </insert>
-
-
- <update id="updateUser" parameterType="com.mindskip.xzs.domain.User">
- update t_user
- <set>
- <if test="realName != null">real_name = #{realName},</if>
- <if test="age != null">age = #{age},</if>
- <if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
- </set>
- where id = #{id}
</update>
-
- <update id="updateUsersAge">
- update t_user set age = #{age} where id in
- <foreach item="id" collection="idslist" open="(" separator=","
- close=")">
- #{id}
- </foreach>
+ <update id="setStatus">
+ UPDATE t_user
+ SET `condition` = #{condition},
+ `condition_detail` = #{conditionDetail}
+ WHERE id = #{id}
+ AND deleted = 0
</update>
+ <update id="clearDeptAdmin">
+ update
+ t_user_department set dept_admin = 0
+ WHERE
+ user_id IN <foreach collection="userIds" open="(" separator="," close=")" item="id">#{id}</foreach>
+ AND dept_admin = 1 AND department_id = #{deptId}
+ </update>
- <delete id="deleteUsersByIds">
- delete from t_user where id in
- <foreach item="id" collection="list" open="(" separator=","
- close=")">
- #{id}
- </foreach>
- </delete>
+ <select id="getUserByDept" resultType="com.mindskip.xzs.domain.ExamPaperAnswer">
+ SELECT
+ tu.id as createUser, tu.real_name as userName, count(tepa.id) as counts
+ FROM
+ t_user tu INNER JOIN t_user_department tud ON tu.id = tud.user_id AND tu.deleted = 0
+ LEFT JOIN t_exam_paper_answer tepa ON tepa.create_user = tu.id
+ <where>
+ <if test="query.deptId != null and query.deptId.size() > 0">
+ AND tud.department_id in <foreach collection="query.deptId" item="deptId" open="(" separator="," close=")"> #{deptId} </foreach>
+ </if>
+ <if test="query.start != null and query.end != null">
+ AND tepa.create_time between #{query.start} and #{query.end}
+ </if>
+ </where>
+ group by
+ createUser, userName
+ ORDER BY
+ tu.id desc
+ </select>
- <select id="selectAllCount" resultType="java.lang.Integer">
- SELECT count(*) from t_user where deleted=0
- </select>
+ <select id="getUserByExam" resultType="com.mindskip.xzs.domain.User">
+ <![CDATA[
+ SELECT
+ DISTINCT d.*
+ FROM t_exam_paper a
+ left join t_exam_paper_user b on a.id = b.exam_paper_id and b.deleted = 0
+ left join t_exam_paper_answer c on a.id = c.exam_paper_id and c.create_user = b.user_id
+ left join t_user d on b.user_id = d.id
+ WHERE a.id = #{id}
+ and (c.id is null or (user_score / paper_score) < 0.6)
+ and b.user_id = #{createUser}
+ ]]>
+ </select>
- <select id="selectByUserName" resultType="com.mindskip.xzs.domain.other.KeyValue">
- SELECT id as value,user_name as name
- from t_user
- where deleted=0 and user_name like concat('%',#{value},'%')
- limit 5
- </select>
+ <update id="updateUserDeptAdmin">
+ update t_user set role = -1 where id in
+ <foreach collection="adminIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </update>
+ <update id="cancelUserDeptAdmin">
+ update t_user set role = 1 where id in(
+ select user_id from t_user_department where department_id = #{id} and user_id not in
+ <foreach collection="adminIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ and user_id not in
+ (select user_id from t_user_department where dept_admin = 1 and user_id in
+ (select user_id from t_user_department where department_id = #{id} and user_id not in
+ <foreach collection="adminIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ )))
+ </update>
- <select id="selectByIds" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List" />
- from t_user
- where id in
- <foreach item="id" collection="list" open="(" separator=","
- close=")">
- #{id}
- </foreach>
- </select>
+ <select id="getDeptAdminIds" resultType="java.lang.Integer" parameterType="java.lang.Integer">
+ select department_id from t_user_department where dept_admin = 1 and user_id = #{id}
+ </select>
+ <select id="getDeptAdmins" resultType="com.mindskip.xzs.domain.Department" parameterType="java.lang.Integer">
+ <if test="id != null">
+ select a.id, a.name from t_department a inner join t_user_department b on a.id = b.department_id where a.deleted = 0 and b.dept_admin = 1 and b.user_id = #{id} order by a.id desc
+ </if>
+ <if test="id == null">
+ select a.id, a.name from t_department a where a.deleted = 0 order by a.id desc
+ </if>
+ </select>
- <select id="selectByWxOpenId" parameterType="java.lang.String" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List" />
- from t_user
- where deleted=0 and wx_open_id = #{wxOpenId}
- limit 1
- </select>
-
- <select id="selectByIdName" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List" />
- from t_user
- <where>
- and deleted=0 and id = #{id}
- <if test="userName != null and userName != ''">
- and user_name like concat('%',#{userName},"%")
- </if>
- </where>
- </select>
</mapper>
--
Gitblit v1.8.0