<?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.xcong.excoin.system.mapper.UserMapper">
|
<sql id="countUserDetailSql" >
|
SELECT
|
COUNT(1)
|
FROM
|
t_user u
|
WHERE 1 = 1
|
<if test="user.username != null and user.username != ''">
|
AND u.username = #{user.username}
|
</if>
|
<if test="user.deptId != null and user.deptId != ''">
|
AND u.dept_id = #{user.deptId}
|
</if>
|
<if test="user.sex != null and user.sex != ''">
|
AND u.ssex = #{user.sex}
|
</if>
|
<if test="user.status != null and user.status != ''">
|
AND u.status = #{user.status}
|
</if>
|
<if test="user.mobile != null and user.mobile != ''">
|
AND u.mobile = #{user.mobile}
|
</if>
|
<if test="user.createTimeFrom != null and user.createTimeFrom !=''">
|
And u.create_time > #{user.createTimeFrom}
|
</if>
|
<if test="user.createTimeTo!= null and user.createTimeTo !=''">
|
And u.create_time < #{user.createTimeTo}
|
</if>
|
</sql>
|
|
<sql id="findUserDetailSql">
|
SELECT
|
u.user_id userId,
|
u.username,
|
u.email,
|
u.mobile,
|
u.status,
|
u.create_time createTime,
|
u.ssex sex,
|
u.dept_id deptId,
|
u.last_login_time lastLoginTime,
|
u.modify_time modifyTime,
|
u.description,
|
u.avatar,
|
u.invite_id,
|
u.system,
|
u.type,
|
u.agent_name,
|
d.dept_name deptName,
|
GROUP_CONCAT(r.role_id) roleId,
|
GROUP_CONCAT(r.ROLE_NAME) roleName
|
FROM
|
t_user u
|
LEFT JOIN t_dept d ON (u.dept_id = d.dept_id)
|
LEFT JOIN t_user_role ur ON (u.user_id = ur.user_id)
|
LEFT JOIN t_role r ON r.role_id = ur.role_id
|
WHERE 1 = 1
|
<if test="user.username != null and user.username != ''">
|
AND u.username = #{user.username}
|
</if>
|
<if test="user.deptId != null and user.deptId != ''">
|
AND d.dept_id = #{user.deptId}
|
</if>
|
<if test="user.sex != null and user.sex != ''">
|
AND u.ssex = #{user.sex}
|
</if>
|
<if test="user.status != null and user.status != ''">
|
AND u.status = #{user.status}
|
</if>
|
<if test="user.mobile != null and user.mobile != ''">
|
AND u.mobile = #{user.mobile}
|
</if>
|
<if test="user.createTimeFrom != null and user.createTimeFrom !=''">
|
And u.create_time > #{user.createTimeFrom}
|
</if>
|
<if test="user.createTimeTo!= null and user.createTimeTo !=''">
|
And u.create_time < #{user.createTimeTo}
|
</if>
|
GROUP BY
|
u.username,
|
u.user_id,
|
u.email,
|
u.mobile,
|
u.status,
|
u.create_time,
|
u.ssex,
|
u.dept_id,
|
u.last_login_time,
|
u.modify_time,
|
u.description,
|
u.avatar,
|
u.invite_id,
|
u.system,
|
u.type,
|
u.agent_name
|
</sql>
|
|
<select id="countUserDetail" parameterType="user" resultType="long">
|
<include refid="countUserDetailSql"/>
|
</select>
|
|
<select id="findUserDetailPage" parameterType="user" resultType="user">
|
<include refid="findUserDetailSql"/>
|
</select>
|
|
<select id="findUserDetail" parameterType="user" resultType="user">
|
<include refid="findUserDetailSql"/>
|
</select>
|
|
<select id="findByName" parameterType="string" resultType="user">
|
SELECT
|
u.user_id userId,
|
u.username,
|
u.email,
|
u.mobile,
|
u.password,
|
u.status,
|
u.create_time createTime,
|
u.ssex sex,
|
u.dept_id deptId,
|
u.last_login_time lastLoginTime,
|
u.modify_time modifyTime,
|
u.description,
|
u.avatar,
|
u.invite_id,
|
u.system,
|
u.type,
|
u.agent_name,
|
u.theme,
|
u.is_tab isTab,
|
d.dept_name deptName,
|
GROUP_CONCAT(r.role_id) roleId,
|
GROUP_CONCAT(r.ROLE_NAME) roleName
|
FROM
|
t_user u
|
LEFT JOIN t_dept d ON (u.dept_id = d.dept_id)
|
LEFT JOIN t_user_role ur ON (u.user_id = ur.user_id)
|
LEFT JOIN t_role r ON r.role_id = ur.role_id
|
WHERE u.username = #{username}
|
GROUP BY
|
u.username,
|
u.user_id,
|
u.email,
|
u.mobile,
|
u.password,
|
u.status,
|
u.create_time,
|
u.ssex,
|
u.dept_id,
|
u.last_login_time,
|
u.modify_time,
|
u.description,
|
u.avatar,
|
u.invite_id,
|
u.system,
|
u.type,
|
u.agent_name,
|
u.theme,
|
u.is_tab
|
</select>
|
|
<select id="findUserDataPermissions" parameterType="long" resultType="userDataPermission">
|
select user_id userId, dept_id deptId from t_user_data_permission
|
where user_id = #{userId}
|
</select>
|
|
<select id="selectAgentUserList" resultType="com.xcong.excoin.modules.agent.pojo.AgentUser">
|
select
|
a.user_id id,
|
a.username account,
|
a.agent_name name,
|
a.invite_id,
|
a.create_time,
|
a.status,
|
b.return_ratio,
|
a.mobile telphone,
|
c.referer_id refererId,
|
c.account_status accountStatus,
|
c.certify_status
|
from t_user a
|
inner join agent_friend_relation b on a.user_id = b.user_id
|
inner join member c on b.member_id = c.id
|
<if test="record != null">
|
<where>
|
<if test="record.refererId!=null and record.refererId!=''">
|
find_in_set(#{record.refererId}, b.referer_ids)
|
</if>
|
<if test="record.startTime!=null and record.startTime!=''">
|
and c.create_time >= #{record.startDate}
|
</if>
|
<if test="record.endTime!=null and record.endTime!=''">
|
and #{record.endDate} >= c.create_time
|
</if>
|
<if test="record.account!=null and record.account!=''">
|
and (c.phone = #{record.account} or c.email = #{record.account} or c.invite_id=#{record.account})
|
</if>
|
<if test="record.accountStatus != null and record.accountStatus!='' or record.accountStatus == 0" >
|
and c.account_status = #{record.accountStatus}
|
</if>
|
<if test="record.accountType != null and record.accountType!=''" >
|
and c.account_type = #{record.accountType}
|
</if>
|
<if test="record.certifyStatus!=null and record.certifyStatus!=''and record.certifyStatus!='6' ">
|
and c.certify_status = #{record.certifyStatus}
|
</if>
|
</where>
|
</if>
|
</select>
|
|
<select id="selectUserByInviteId" resultType="user">
|
select * from t_user where invite_id=#{inviteId}
|
</select>
|
|
<select id="selectUserInfoById" resultType="user">
|
select
|
a.user_id,
|
a.agent_name,
|
a.username,
|
a.mobile,
|
a.invite_id,
|
b.return_ratio
|
from t_user a
|
left join agent_friend_relation b on a.user_id=b.user_id
|
where a.user_id=#{id}
|
</select>
|
</mapper>
|