<?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.xiaopeng.account.mapper.XpOperationsUserMapper">
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, nick_name, unique_number, avatar, password, phone_number, remarks, status, id_card_front, id_card_back, driver_license, certificate_of_no_criminal_record, training_graduation_certificate, is_deleted, create_time, update_time, create_by, update_by
|
</sql>
|
<select id="selectUserPageByConditions"
|
resultType="com.xiaopeng.api.vo.account.XpOperationsUserWithRoleVO">
|
SELECT
|
u.*,
|
r.id AS roleId,
|
GROUP_CONCAT(r.role_name) AS roleName
|
FROM xp_operations_user u
|
LEFT JOIN xp_operations_role ur ON u.id = ur.operations_user_id
|
LEFT JOIN sys_role r ON ur.role_id = r.id AND r.is_deleted = 0
|
<where>
|
u.is_deleted = 0
|
<if test="query.nickName != null and query.nickName != ''">
|
AND u.nick_name LIKE CONCAT('%', #{query.nickName}, '%')
|
</if>
|
<if test="query.phoneNumberQueryValues != null and query.phoneNumberQueryValues.size() > 0">
|
AND u.phone_number IN
|
<foreach collection="query.phoneNumberQueryValues" item="phoneNumber" open="(" separator="," close=")">
|
#{phoneNumber}
|
</foreach>
|
</if>
|
<if test="query.roleId != null">
|
AND r.id = #{query.roleId}
|
</if>
|
<if test="query.ids != null and query.ids.size() > 0">
|
AND u.id IN
|
<foreach collection="query.ids" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
|
</where>
|
GROUP BY u.id
|
ORDER BY u.create_time DESC
|
</select>
|
<select id="pageList" resultType="com.xiaopeng.api.vo.account.XpOperationsUserVO">
|
SELECT xou.id, xou.nick_name, xou.unique_number, xou.avatar,xou.sex, xou.password, xou.phone_number, xou.remarks, xou.status,
|
xou.id_card_front, xou.id_card_back, xou.driver_license, xou.certificate_of_no_criminal_record,
|
xou.training_graduation_certificate, xou.is_deleted, xou.create_time, xou.update_time, xou.create_by
|
from xp_operations_user xou
|
where xou.is_deleted = 0
|
<if test="query.nickName != null and query.nickName != ''">
|
and xou.nick_name like concat('%',#{query.nickName},'%')
|
</if>
|
<if test="query.phoneNumberQueryValues != null and query.phoneNumberQueryValues.size() > 0">
|
and xou.phone_number in
|
<foreach collection="query.phoneNumberQueryValues" item="phoneNumber" open="(" separator="," close=")">
|
#{phoneNumber}
|
</foreach>
|
</if>
|
<if test="query.roleId != null">
|
AND EXISTS (SELECT 1 FROM xp_operations_role xore
|
WHERE xore.operations_user_id = xou.id
|
AND xore.role_id = #{query.roleId})
|
</if>
|
<if test="query.status != null">
|
and xou.status = #{query.status}
|
</if>
|
order by xou.create_time desc
|
</select>
|
|
|
<select id="exportOperationsUser" resultType="com.xiaopeng.api.vo.account.ExportOperationsUserVo">
|
SELECT
|
xou.id,
|
xou.nick_name,
|
xou.unique_number,
|
xou.avatar,
|
xou.PASSWORD,
|
xou.phone_number,
|
xou.remarks,
|
xou.STATUS,
|
xou.id_card_front,
|
xou.id_card_back,
|
xou.driver_license,
|
xou.certificate_of_no_criminal_record,
|
xou.training_graduation_certificate,
|
xou.is_deleted,
|
xou.create_time,
|
xou.update_time,
|
xou.create_by,
|
bb.roleName
|
FROM
|
xp_operations_user xou
|
left join (
|
select a.operations_user_id, GROUP_CONCAT(b.role_name SEPARATOR ';') as roleName from xp_operations_role a
|
left join sys_role b on (a.role_id = b.id)
|
group by a.operations_user_id
|
) bb on (xou.id = bb.operations_user_id)
|
WHERE xou.is_deleted = 0
|
<if test="query.nickName != null and query.nickName != ''">
|
and xou.nick_name like concat('%',#{query.nickName},'%')
|
</if>
|
<if test="query.phoneNumberQueryValues != null and query.phoneNumberQueryValues.size() > 0">
|
and xou.phone_number in
|
<foreach collection="query.phoneNumberQueryValues" item="phoneNumber" open="(" separator="," close=")">
|
#{phoneNumber}
|
</foreach>
|
</if>
|
<if test="query.roleId != null">
|
AND EXISTS (SELECT 1 FROM xp_operations_role xore
|
WHERE xore.operations_user_id = xou.id
|
AND xore.role_id = #{query.roleId})
|
</if>
|
<if test="query.status != null">
|
and xou.status = #{query.status}
|
</if>
|
order by xou.create_time desc
|
</select>
|
|
|
<select id="findList" resultType="com.xiaopeng.api.vo.account.XpOperationsUserVO">
|
</select>
|
|
<select id="pageListByIds" resultType="com.xiaopeng.api.vo.account.XpOperationsUserWithRoleVO">
|
SELECT
|
u.*,
|
r.id AS roleId,
|
GROUP_CONCAT(r.role_name) AS roleName
|
FROM xp_operations_user u
|
LEFT JOIN xp_operations_role ur ON u.id = ur.operations_user_id
|
LEFT JOIN sys_role r ON ur.role_id = r.id AND r.is_deleted = 0
|
<where>
|
u.is_deleted = 0
|
<if test="query.nickName != null and query.nickName != ''">
|
AND u.nick_name LIKE CONCAT('%', #{query.nickName}, '%')
|
</if>
|
<if test="query.role != null and '' != query.role">
|
AND r.role_name LIKE CONCAT('%', #{query.role}, '%')
|
</if>
|
<if test="query.ids != null and query.ids.size() > 0">
|
AND u.id IN
|
<foreach collection="query.ids" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
|
</where>
|
GROUP BY u.id
|
<choose>
|
<when test="query.orderByField != null and query.orderByField == 1">
|
ORDER BY FIELD
|
<foreach collection="query.ids" item="id" open=" (u.id," separator="," close=")">
|
#{id}
|
</foreach>
|
</when>
|
<otherwise>
|
ORDER BY u.create_time DESC
|
</otherwise>
|
</choose>
|
|
|
</select>
|
|
</mapper>
|