龚焕茏
2024-05-08 b899d344b2004ad6593111699ea96b50c2c1597d
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, dept_admin, `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,7 +244,8 @@
      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>
@@ -251,6 +255,12 @@
    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="getUserById" resultMap="BaseResultMap">
@@ -265,6 +275,13 @@
    <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="getUserByUserNamePwd" resultMap="BaseResultMap">
@@ -318,7 +335,7 @@
    <where>
        and deleted=0
      <if test="userName != null and userName != ''">
        and user_name like concat('%',#{userName},'%')
        and real_name like concat('%',#{userName},'%')
      </if>
      <if test="role != null ">
        and role= #{role}
@@ -339,12 +356,12 @@
  <insert id="insertUsers" parameterType="java.util.List"
          useGeneratedKeys="true" keyProperty="id">
    insert into t_user
    (user_uuid,user_name,password,real_name,age,last_active_time)
    (user_uuid,user_name,password,real_name,last_active_time,role,status,user_level,deleted)
    values
    <foreach collection="list" item="item" index="index"
    <foreach collection="list" item="item"
             separator=",">
      (#{item.userUuid},#{item.userName},#{item.password},#{item.realName},#{item.age},
      #{item.lastActiveTime})
      (#{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>
@@ -410,5 +427,49 @@
    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 SET dept_admin = #{deptAdmin} WHERE id = #{id} AND deleted = 0
  </update>
  <update id="setStatus">
    UPDATE t_user
    SET `condition`        = #{condition},
        `condition_detail` = #{conditionDetail}
    WHERE id = #{id}
    AND deleted = 0
  </update>
  <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 tud.department_id = #{query.deptId}
      </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>
</mapper>