From 2f0dcc98caba0ca1f97c7fe346458d0a3fad5c7b Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期三, 29 五月 2024 17:17:21 +0800
Subject: [PATCH] 修改用户模块的一些代码问题 1.全局userId变id 2.修改分页查询SQL 3.修改修改用户信息接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml |  460 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 311 insertions(+), 149 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
index 20721d8..57cba07 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
@@ -2,96 +2,151 @@
 <!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!--namespace瀵瑰簲mapper鎺ュ彛鎵�鍦ㄧ殑浣嶇疆-->
 <mapper namespace="com.dy.pipIrrGlobal.daoBa.BaUserMapper">
+    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        <!--@mbg.generated-->
+        <!--@Table ba_user-->
+        <id property="id" column="id"/>
+        <result property="blockId" column="blockId"/>
+        <result property="userName" column="name"/>
+        <result property="phone" column="phone"/>
+        <result property="password" column="password"/>
+        <result property="orgTag" column="orgTag"/>
+        <result property="supperAdmin" column="supperAdmin"/>
+        <result property="disabled" column="disabled" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler"
+                javaType="com.dy.common.mybatis.envm.Disabled"/>
+        <result property="deleted" column="deleted" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler"
+                javaType="com.dy.common.mybatis.envm.Deleted"/>
+    </resultMap>
 
-    <resultMap id="login" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
-        <id property="id" column="id" />
-        <result property="name" column="name"/>
+    <resultMap id="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        <!--@mbg.generated-->
+        <!--@Table ba_user-->
+        <id property="id" column="id"/>
+        <result property="userName" column="name"/>
         <result property="phone" column="phone"/>
         <result property="orgTag" column="orgTag"/>
+        <result property="supperAdmin" column="supperAdmin"/>
+        <result property="disabled" column="disabled" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler"
+                javaType="com.dy.common.mybatis.envm.Disabled"/>
     </resultMap>
-    <!--
-        <select id="login" resultMap="login">
-            select id, name, phone, orgTag
-            from ba_user
-            where disabled=0 and deleted=0 and phone=#{phone} and password=#{password}
-        </select>
-        <select id="login" resultType="com.dy.pipIrrGlobal.pojoBa.BaUser">
-            select id, name, phone, orgTag
-        -->
-    <select id="login" resultMap="login" >
-        select *
-        from ba_user r
-        where disabled=0 and deleted=0 and phone=#{phone} and password=#{password}
+
+    <resultMap id="loginResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        <id property="id" column="id"/>
+        <result property="blockId" column="blockId"/>
+        <result property="userName" column="name"/>
+        <result property="phone" column="phone"/>
+        <result property="orgTag" column="orgTag"/>
+        <result property="supperAdmin" column="supperAdmin"/>
+    </resultMap>
+
+    <resultMap id="someResultMap" extends="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        <collection property="roleList" fetchType="eager" column="{userId=id}"
+                    select="com.dy.pipIrrGlobal.daoBa.BaRoleMapper.selectByUserId"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,
+        blockId,
+        name,
+        phone,
+        password,
+        orgTag,
+        supperAdmin,
+        disabled,
+        deleted
+    </sql>
+
+    <sql id="part_Column_List">
+        ${alias}.id,
+        ${alias}.name,
+        ${alias}.phone,
+        ${alias}.disabled
+    </sql>
+
+    <sql id="Login_Column_List">
+        id,
+        blockId,
+        name,
+        phone,
+        orgTag,
+        supperAdmin
+    </sql>
+
+    <select id="login" resultMap="loginResultMap">
+        select
+        <include refid="Login_Column_List"/>
+        from ba_user
+        where disabled!=1 and deleted!=1 and phone=#{phone}
+          and password=#{password}
     </select>
 
-    <!--
-    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
-        <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long" id="selectKey">
-            SELECT LAST_INSERT_ID()
-        </selectKey>
-        insert into  ba_user
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">
-                id,
-            </if>
-            <if test="name != null">
-                name,
-            </if>
-            <if test="phone != null">
-                phone,
-            </if>
-           <if test="password != null">
-               password,
-            </if>
-           <if test="orgTag != null">
-               orgTag,
-            </if>
-           <if test="supperAdmin != null">
-               supperAdmin,
-            </if>
-           <if test="disabled != null">
-               disabled,
-            </if>
-          <if test="deleted != null">
-              deleted,
-            </if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">
-                #{id, jdbcType=BIGINT},
-            </if>
-            <if test="name != null">
-                #{name, jdbcType=VARCHAR},
-            </if>
-            <if test="phone != null">
-                #{phone, jdbcType=VARCHAR},
-            </if>
-           <if test="password != null">
-                #{password, jdbcType=VARCHAR},
-            </if>
-           <if test="orgTag != null">
-                #{orgTag, jdbcType=VARCHAR},
-            </if>
-           <if test="supperAdmin != null">
-                #{supperAdmin, jdbcType=SMALLINT},
-            </if>
-           <if test="disabled != null">
-                #{disabled, jdbcType=SMALLINT},
-            </if>
-           <if test="deleted != null">
-                #{deleted, jdbcType=SMALLINT},
-            </if>
-        </trim>
-    </insert>
+    <select id="selectTotal" parameterType="java.util.Map" resultType="java.lang.Long">
+        select count(*)
+        from ba_user
+        where supperAdmin!=1 and deleted!=1
 
-    <insert id="insertOnDuplicateUpdate" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        <trim prefix="and" suffixOverrides="and">
+            <if test="name != null and name != ''">
+                name like concat('%', #{name}
+                    , '%')
+                  and
+            </if>
+            <if test="phone != null and phone != ''">
+                phone = #{phone,jdbcType=VARCHAR}
+            </if>
+        </trim>
+    </select>
+    <select id="selectSome" parameterType="java.util.Map" resultMap="someResultMap">
+        select
+        <include refid="part_Column_List">
+            <property name="alias" value="bu"/>
+        </include>
+        ,
+            bb.`name` blockName
+        from ba_user bu
+                 left join ba_block bb on bu.blockId = bb.id
+        where bu.supperAdmin!=1 and bu.deleted!=1
+
+        <trim prefix="and" suffixOverrides="and">
+            <if test="name != null and name != ''">
+                bu.name like concat('%', #{name}
+                    , '%')
+                  and
+            </if>
+            <if test="phone != null and phone != ''">
+                bu.phone = #{phone,jdbcType=VARCHAR}
+            </if>
+        </trim>
+        order by id DESC
+        <trim prefix="limit ">
+            <if test="start != null and count != null">
+                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+            </if>
+        </trim>
+    </select>
+    <insert id="putin" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        insert into ba_user (<include refid="Base_Column_List"/>)
+    values (#{id,jdbcType=BIGINT},
+            #{blockId,jdbcType=BIGINT},
+            #{userName,jdbcType=VARCHAR},
+            #{phone,jdbcType=VARCHAR},
+            #{password,jdbcType=VARCHAR},
+            #{orgTag,jdbcType=VARCHAR},
+            #{supperAdmin,jdbcType=TINYINT},
+            #{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
+            #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT})
+    </insert>
+    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
         insert into ba_user
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
             </if>
-            <if test="name != null">
-                name,
+            <if test="blockId != null">
+                blockId,
+            </if>
+            <if test="userName != null">
+                `name`,
             </if>
             <if test="phone != null">
                 phone,
@@ -114,100 +169,207 @@
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">
-                #{id, jdbcType=BIGINT},
+                #{id,jdbcType=BIGINT},
             </if>
-            <if test="name != null">
-                #{name, jdbcType=VARCHAR},
+            <if test="blockId != null">
+                #{blockId,jdbcType=BIGINT},
+            </if>
+            <if test="userName != null">
+                #{userName,jdbcType=VARCHAR},
             </if>
             <if test="phone != null">
-                #{phone, jdbcType=VARCHAR},
+                #{phone,jdbcType=VARCHAR},
             </if>
             <if test="password != null">
-                #{password, jdbcType=VARCHAR},
+                #{password,jdbcType=VARCHAR},
             </if>
             <if test="orgTag != null">
-                #{orgTag, jdbcType=VARCHAR},
+                #{orgTag,jdbcType=VARCHAR},
             </if>
             <if test="supperAdmin != null">
-                #{supperAdmin, jdbcType=SMALLINT},
+                #{supperAdmin,jdbcType=TINYINT},
             </if>
             <if test="disabled != null">
-                #{disabled, jdbcType=SMALLINT},
+                #{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
             </if>
             <if test="deleted != null">
-                #{deleted, jdbcType=SMALLINT},
-            </if>
-        </trim>
-        ON DUPLICATE KEY UPDATE
-        <trim suffixOverrides="," >
-            <if test="id != null" >
-                id = #{id, jdbcType=BIGINT},
+                #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
             </if>
         </trim>
     </insert>
 
-    <update id="updateSelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser" >
-        UPDATE ba_user
-        <set >
-            <if test="name != null" >
-                name = #{name, jdbcType=VARCHAR},
+    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        update ba_user
+        <set>
+            <if test="blockId != null">
+                blockId = #{blockId,jdbcType=BIGINT},
             </if>
-            <if test="phone != null" >
-                phone = #{phone, jdbcType=VARCHAR},
+            <if test="userName != null">
+                `name` = #{userName,jdbcType=VARCHAR},
             </if>
-            <if test="password != null" >
-                phone = #{password, jdbcType=VARCHAR},
+            <if test="phone != null">
+                phone = #{phone,jdbcType=VARCHAR},
+            </if>
+            <if test="password != null">
+                password = #{password,jdbcType=VARCHAR},
+            </if>
+            <if test="disabled != null">
+                disabled = #{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
+            </if>
+            <if test="deleted != null">
+                deleted = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
             </if>
         </set>
-        WHERE
-        <trim prefixOverrides="and | or">
-            <if test="id != null">
-                AND id = #{id,jdbcType=BIGINT}
+        where id = #{id, jdbcType=BIGINT}
+    </update>
+    <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        update ba_user
+        set blockId  = #{blockId,jdbcType=BIGINT},
+            `name`   = #{userName,jdbcType=VARCHAR},
+            phone    = #{phone,jdbcType=VARCHAR},
+            password = #{password,jdbcType=VARCHAR},
+            disabled = #{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
+            deleted  = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT}
+        where id = #{id,jdbcType=BIGINT}
+    </update>
+    <update id="changePassword">
+        update ba_user
+        set password = #{password,jdbcType=VARCHAR}
+        where id = #{id,jdbcType=BIGINT}
+    </update>
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+        delete
+        from ba_user
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+    <delete id="deleteLogicById" parameterType="java.lang.Long">
+        update ba_user
+        set deleted = 1
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <!--鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鐢ㄦ埛淇℃伅-->
+    <!--2024-01-09 搴熷純-->
+    <select id="getUserInfos" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo">
+        SELECT user.id     AS userId,
+               user.`name` AS userName,
+               rol.id      AS roleId,
+               rol.`name`  AS roleName,
+               per.permissions
+        FROM ba_user user
+            INNER JOIN ba_user_role use_rol
+        ON user.id = use_rol.userId
+            INNER JOIN ba_role rol ON rol.id = use_rol.roleId
+            INNER JOIN ba_role_permissions per ON per.roleId = rol.id
+        <where>
+            <if test="userId != null and userId > 0">
+                AND user.id = ${userId}
+            </if>
+        </where>
+    </select>
+
+    <!--鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鐢ㄦ埛淇℃伅-->
+    <select id="getUserInfoById" resultType="java.util.Map">
+        SELECT us.id                 AS userId,
+               us.name               AS userName,
+               us.phone,
+               IFNULL(us.blockId, 0) AS blockId,
+               IFNULL(blo.name, 0)   AS blockName
+        FROM ba_user us
+                 LEFT JOIN ba_block blo ON us.blockId = blo.id
+        <where>
+            AND us.disabled = 0
+                  AND us.deleted = 0
+            <if test="userId != null and userId > 0">
+                AND us.id = ${userId}
+            </if>
+        </where>
+    </select>
+
+    <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栫敤鎴疯褰曟暟-->
+    <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM ba_user user
+<!--            INNER JOIN ba_user_role usro ON usro.userId = user.id-->
+        <where>
+            AND user.supperAdmin != 1
+                AND user.deleted = 0
+
+            <if test="userName != null and userName != ''">
+                AND user.name like CONCAT('%'
+                  , #{userName}
+                  , '%')
+            </if>
+
+            <if test="phone != null and phone != ''">
+                AND user.phone like CONCAT('%'
+                  , #{phone}
+                  , '%')
+            </if>
+
+            <if test="roleId != null and roleId > 0">
+                AND usro.roleId = ${roleId}
+            </if>
+        </where>
+    </select>
+
+    <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃-->
+    <select id="getUsers" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo">
+        SELECT CAST(user.id AS char)                               AS userId,
+               user.phone,
+               user.name                                           AS userName,
+               user.disabled                                       AS stateId,
+               (CASE
+                    WHEN disabled = 0 THEN "姝e父"
+                    WHEN disabled = 1 THEN "宸茬鐢�"
+                   END)                                            AS stateName,
+               CAST(user.blockId AS char)                          AS blockId,
+               (SELECT name FROM ba_block WHERE id = user.blockId) AS blockName
+        FROM ba_user user
+<!--            INNER JOIN ba_user_role usro ON usro.userId = user.id-->
+        <where>
+            AND user.supperAdmin != 1
+                AND user.deleted = 0
+
+            <if test="userName != null and userName != ''">
+                AND user.name like CONCAT('%', #{userName}, '%')
+            </if>
+
+            <if test="phone != null and phone != ''">
+                AND user.phone like CONCAT('%', #{phone}, '%')
+            </if>
+
+            <if test="roleId != null and roleId > 0">
+                AND usro.roleId = ${roleId}
+            </if>
+        </where>
+        ORDER BY user.id DESC
+        <trim prefix="limit ">
+            <if test="start != null and count != null">
+                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
             </if>
         </trim>
-    </update>
+    </select>
 
-    <insert id="batchInsert" parameterType="java.util.List">
-        <selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" id="batchInsert">
-            SELECT LAST_INSERT_ID()
-        </selectKey>
-        INSERT INTO ba_user(id, name, phone, password, orgTag, supperAdmin, disabled, deleted)
-        VALUES
-        <foreach collection="list" item="it" index="index" separator=",">
-            (
-              #{it.id, jdbcType=BIGINT},
-              #{it.name, jdbcType=VARCHAR},
-              #{it.phone, jdbcType=VARCHAR},
-              #{it.password, jdbcType=VARCHAR},
-              #{it.orgTag, jdbcType=VARCHAR},
-              #{it.supperAdmin, jdbcType=SMALLINT},
-              #{it.disabled, jdbcType=SMALLINT},
-              #{it.deleted, jdbcType=SMALLINT}
-            )
-        </foreach>
-    </insert>
+    <!--鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇瑙掕壊ID鍒楄〃-->
+    <select id="getRoleIdsByUserId" resultType="java.util.HashMap">
+        SELECT roleId
+        FROM ba_user_role
+        WHERE userId = ${userId}
+    </select>
 
-    <update id="batchUpdate" parameterType="java.util.List">
-        <foreach collection="list" item="it"  separator=";">
-            UPDATE ba_user
-            <set >
-                <if test="it.name != null" >
-                    name = #{it.name, jdbcType=VARCHAR},
-                </if>
-                <if test="it.phone != null" >
-                    phone = #{it.phone, jdbcType=VARCHAR},
-                </if>
-                <if test="it.password != null" >
-                    phone = #{it.password, jdbcType=VARCHAR},
-                </if>
-            </set>
-            WHERE
-            <trim prefixOverrides="and | or">
-                <if test="it.id != null">
-                    AND id = #{it.id,jdbcType=BIGINT}
-                </if>
-            </trim>
-        </foreach>
-    </update>
-    -->
+    <select id="getRoleNamesByUserId" resultType="java.util.HashMap">
+        SELECT ro.name AS roleName
+        FROM ba_user_role usro
+                 INNER JOIN ba_role ro ON usro.roleId = ro.id
+        WHERE userId = ${userId}
+    </select>
+
+    <select id="selectById" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from ba_user
+        where id = #{id,jdbcType=BIGINT}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0