cjl
2025-01-06 27e6bc3df3e39e0d0b147b155a89ad6837ea972b
screen-api/src/main/resources/mapper/UserMapper.xml
@@ -17,45 +17,37 @@
        <result column="update_time" property="updateTime"/>
        <result column="expire_time" property="expireTime"/>
        <result column="is_delete" property="isDelete"/>
        <result column="unit_id" property="unitId"/>
    </resultMap>
    <resultMap id="userInfoMap" type="com.moral.api.pojo.bo.UserBO" extends="BaseResultMap">
        <!--用户组织-->
        <association property="organization" javaType="com.moral.api.entity.Organization">
            <result column="id" property="id" jdbcType="INTEGER"/>
            <result column="name" property="name" jdbcType="VARCHAR"/>
            <result column="location_level" property="locationLevel"/>
            <result column="location_level_code" property="locationLevelCode"/>
            <result column="org_expire_time" property="expireTime"/>
        </association>
        <!--用户组-->
        <collection property="groups" ofType="com.moral.api.entity.Group" javaType = "java.util.ArrayList">
            <id column="groupId" property="id" jdbcType="INTEGER"/>
        <association property="group" javaType="com.moral.api.entity.Group">
            <id column="group_id" property="id" jdbcType="INTEGER"/>
            <result column="group_name" property="groupName" jdbcType="VARCHAR"/>
        </collection>
        </association>
    </resultMap>
    <select id="selectUserInfo" resultMap="BaseResultMap">
        SELECT u.id,u.account,u.password,u.user_name,u.organization_id,u.expire_time,u.is_delete,
        o.name,u.is_admin,o.location_level,
        g.id groupId,g.group_name
        FROM `user` u,
        `organization` o,
        `user_group` ug,
        `group` g
        WHERE u.account = #{account}
        AND u.organization_id=o.id
        AND  u.id = ug.user_id
        AND ug.group_id = g.id
        AND g.is_delete = 0
        AND ug.is_delete = 0
    <!--查询用户信息,包含组织,角色-->
    <select id="selectUserInfo" resultMap="userInfoMap">
      SELECT u.id, u.account, u.password, u.user_name, u.email, u.mobile, u.wechat ,u.organization_id, u.expire_time, u.is_delete,u.is_Admin,
      o.name, o.location_level_code, o.expire_time org_expire_time,
      a.id group_id , a.group_name,u.unit_id
      FROM `user` u
      LEFT JOIN
            (SELECT ug.user_id,g.id,g.group_name FROM `user_group` ug ,`group` g WHERE ug.group_id=g.id   AND g.is_delete = 0
            AND ug.is_delete = '0') a
        ON a.user_id=u.id
      LEFT JOIN `organization` o ON o.id=u.organization_id
      WHERE u.account = #{account}
        AND u.is_delete = '0'
    </select>
    <select id="selectUsers" resultType="java.util.Map">
        SELECT id,account,user_name userName,email,mobile,wechat FROM `user` WHERE
        <if test="orgId!=null">
            organization_id = #{orgId}
        </if>
        <if test="userId!=null">
            id = #{userId}
        </if>
    </select>
</mapper>