<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.moral.api.mapper.UserMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.moral.api.entity.User">
|
<id column="id" property="id"/>
|
<result column="is_admin" property="isAdmin"/>
|
<result column="account" property="account"/>
|
<result column="password" property="password"/>
|
<result column="user_name" property="userName"/>
|
<result column="organization_id" property="organizationId"/>
|
<result column="email" property="email"/>
|
<result column="mobile" property="mobile"/>
|
<result column="wechat" property="wechat"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="expire_time" property="expireTime"/>
|
<result column="is_delete" property="isDelete"/>
|
</resultMap>
|
|
<resultMap id="userInfoMap" type="com.moral.api.pojo.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"/>
|
</association>
|
<!--用户组-->
|
<collection property="groups" ofType="com.moral.api.entity.Group" javaType="java.util.ArrayList">
|
<id column="groupId" property="id" jdbcType="INTEGER"/>
|
<result column="group_name" property="groupName" jdbcType="VARCHAR"/>
|
</collection>
|
</resultMap>
|
|
<!--查询用户信息,包含组织,角色-->
|
<select id="selectUserInfo" resultMap="userInfoMap">
|
SELECT u.id, u.account, u.password, u.user_name, u.organization_id, u.expire_time, u.is_delete,u.is_Admin,
|
o.name, o.location_level,
|
a.id groupId , a.group_name
|
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}
|
</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>
|