From cac5a8bd1746e30e8506a729aecb8feed6f0698a Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期四, 04 七月 2024 17:22:08 +0800
Subject: [PATCH] user模块 重构重置密码接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml |  205 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 177 insertions(+), 28 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 2e30167..a07541e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
@@ -7,20 +7,23 @@
         <!--@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"/>
+        <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="name" column="name"/>
+        <result property="userName" column="name"/>
         <result property="phone" column="phone"/>
         <result property="orgTag" column="orgTag"/>
         <result property="supperAdmin" column="supperAdmin"/>
@@ -29,7 +32,8 @@
 
     <resultMap id="loginResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
         <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="orgTag" column="orgTag"/>
         <result property="supperAdmin" column="supperAdmin"/>
@@ -40,15 +44,15 @@
     </resultMap>
 
     <sql id="Base_Column_List">
-        id, name, phone, password, orgTag, supperAdmin, disabled, deleted
+        id, blockId, name, phone, password, orgTag, supperAdmin, disabled, deleted
     </sql>
 
     <sql id="part_Column_List">
-        id, name, phone, disabled
+        ${alias}.id, ${alias}.name, ${alias}.phone, ${alias}.disabled
     </sql>
 
     <sql id="Login_Column_List">
-        id, name, phone, orgTag, supperAdmin
+        id, blockId, name, phone, orgTag, supperAdmin
     </sql>
 
     <select id="login" resultMap="loginResultMap" >
@@ -61,39 +65,47 @@
     <select id="selectTotal" parameterType="java.util.Map" resultType="java.lang.Long">
         select
         count(*)
-        from ba_user where supperAdmin!=1 and deleted!=1
+        from ba_user
+        where supperAdmin!=1 and deleted!=1
         <trim prefix="and" suffixOverrides="and">
-            <if test="name != null">
+            <if test="name != null and name != ''">
                 name like concat('%', #{name}, '%') and
             </if>
-            <if test="phone != null">
+            <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" />
-        from ba_user where supperAdmin!=1 and deleted!=1
+        <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">
-                name like concat('%', #{name}, '%') and
+            <if test="name != null and name != ''">
+                bu.name like concat('%', #{name}, '%') and
             </if>
-            <if test="phone != null">
-                phone = #{phone,jdbcType=VARCHAR}
+            <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,jdbcType=INTEGER}, #{count,jdbcType=INTEGER}
+                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
             </if>
         </trim>
     </select>
-    <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
-        insert into ba_user (<include refid="Base_Column_List" />)
+    <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},
-        #{name,jdbcType=VARCHAR},
+        #{blockId,jdbcType=BIGINT},
+        #{userName,jdbcType=VARCHAR},
         #{phone,jdbcType=VARCHAR},
         #{password,jdbcType=VARCHAR},
         #{orgTag,jdbcType=VARCHAR},
@@ -108,7 +120,10 @@
             <if test="id != null">
                 id,
             </if>
-            <if test="name != null">
+            <if test="blockId != null">
+                blockId,
+            </if>
+           <if test="userName != null">
                 `name`,
             </if>
             <if test="phone != null">
@@ -134,8 +149,11 @@
             <if test="id != null">
                 #{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},
@@ -161,8 +179,11 @@
     <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
         update ba_user
         <set>
-            <if test="name != null">
-                `name` = #{name,jdbcType=VARCHAR},
+            <if test="blockId != null">
+                blockId = #{blockId,jdbcType=BIGINT},
+            </if>
+           <if test="userName != null">
+                `name` = #{userName,jdbcType=VARCHAR},
             </if>
             <if test="phone != null">
                 phone = #{phone,jdbcType=VARCHAR},
@@ -177,11 +198,12 @@
                 deleted = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
             </if>
         </set>
-        where id = #{id,jdbcType=BIGINT}
+        where id = #{id, jdbcType=BIGINT}
     </update>
     <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
         update ba_user
-        set `name` = #{name,jdbcType=VARCHAR},
+        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},
@@ -202,4 +224,131 @@
         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 id,
+            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>
+    </select>
+
+    <!--鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇瑙掕壊ID鍒楄〃-->
+    <select id="getRoleIdsByUserId" resultType="java.util.HashMap">
+        SELECT
+            roleId
+        FROM ba_user_role
+        WHERE userId = ${userId}
+    </select>
+
+    <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="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+        <!--@mbg.generated-->
+        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