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

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml |  423 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 278 insertions(+), 145 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..e2e5d47 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
@@ -3,95 +3,128 @@
 <!--namespace瀵瑰簲mapper鎺ュ彛鎵�鍦ㄧ殑浣嶇疆-->
 <mapper namespace="com.dy.pipIrrGlobal.daoBa.BaUserMapper">
 
-    <resultMap id="login" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
+    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
+        <!--@mbg.generated-->
+        <!--@Table ba_user-->
         <id property="id" column="id" />
-        <result property="name" column="name"/>
+        <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="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,
+    <select id="selectTotal" parameterType="java.util.Map" resultType="java.lang.Long">
+        select
+        count(*)
+        from ba_user
+        where supperAdmin!=1 and deleted!=1
+        <trim prefix="and" suffixOverrides="and">
+            <if test="name != null and name != ''">
+                name like concat('%', #{name}, '%') and
             </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 test="phone != null and phone !=''">
+                phone = #{phone,jdbcType=VARCHAR}
             </if>
         </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">
-                #{id, jdbcType=BIGINT},
+    </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="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 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" />)-->
+        insert into ba_user(id, blockId, name, phone, password, orgTag, supperAdmin, disabled, deleted)
+        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="insertOnDuplicateUpdate" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
+    <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,
@@ -105,109 +138,209 @@
             <if test="supperAdmin != null">
                 supperAdmin,
             </if>
-            <if test="disabled != null">
-                disabled,
+           <if test="disabled != null">
+               disabled,
             </if>
-            <if test="deleted != null">
+           <if test="deleted != null">
                 deleted,
             </if>
         </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(id AS char) AS userId,
+            phone,
+            name AS userName,
+            disabled AS stateId,
+            (CASE
+                 WHEN disabled = 0 THEN "姝e父"
+                 WHEN disabled = 1 THEN "宸茬鐢�"
+                END) AS stateName,
+            CAST(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>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0