xuhy
2023-05-18 e090805989dd874b06fa6f784a805008eff081e1
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml
@@ -110,4 +110,39 @@
      order by o.id desc
   </select>
   <select id="getUserListPageAgent" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
      SELECT * FROM (select CASE when d2.simplename is null then d1.simplename else d2.simplename end as parentName,
      case when uu.sex = 1 then '男' when uu.sex = 2 then '女' else '' end as sexName,
      d1.simplename as deptName,case when uu.status = 1 then '启用' when uu.status = 2 then '冻结' when uu.status = 3 then '删除' else '' end as statusName,
      rr.roleName,
      uu.* from sys_user as uu
      LEFT JOIN sys_dept as d1 on d1.id = uu.deptid
      LEFT JOIN sys_dept as d2 on d2.id = d1.pid
      LEFT JOIN (select s.id,s.name,GROUP_CONCAT(r.name) as roleName from sys_user s
      left join sys_role r on find_in_set(r.id,s.roleid) group by s.id) as rr on rr.id = uu.id
      ) as o
      <where>
         o.status != 3
         <if test="name != null and name != ''">
            and (o.phone like CONCAT('%',#{name},'%')
            or o.account like CONCAT('%',#{name},'%')
            or o.name like CONCAT('%',#{name},'%'))
         </if>
         <if test="deptid != null and deptid != 0">
            and (o.deptid = #{deptid} or o.deptid in ( select id from sys_dept where pids like CONCAT('%[', #{deptid}, ']%') ))
         </if>
         <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
            and (o.createTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
         </if>
         <if test="officeIds != null and officeIds.size() > 0">
            and o.object_id in
               <foreach collection="officeIds" separator="," item="id" open="(" close=")">
                #{id}
             </foreach>
         </if>
          and o.role_type = 2
      </where>
      order by o.id desc
   </select>
</mapper>