xiangpei
2025-04-18 ccadf9480d4e6a9dcc227a2a0b1f9ae0612e36fd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?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.monkeylessey.sys.mapper.SysOrgMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.monkeylessey.sys.domain.vo.SysOrgVO">
        <result column="id" property="id" />
        <result column="gmt_create" property="gmtCreate" />
        <result column="gmt_update" property="gmtUpdate" />
        <result column="org_name" property="orgName" />
        <result column="parent_id" property="parentId" />
        <result column="order_num" property="orderNum" />
        <result column="leader_user_name" property="leaderUserName" />
        <result column="leader_phone" property="leaderPhone" />
        <result column="status" property="status" />
        <result column="org_type" property="orgType" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
    </resultMap>
 
    <resultMap id="ChildResultMap" type="com.monkeylessey.sys.domain.vo.SysOrgVO">
        <result column="id" property="id" />
        <result column="org_name" property="orgName" />
        <result column="parent_id" property="parentId" />
        <result column="order_num" property="orderNum" />
        <result column="leader_user_name" property="leaderUserName" />
        <result column="leader_phone" property="leaderPhone" />
        <result column="status" property="status" />
        <result column="org_type" property="orgType" />
        <collection select="orgChildSelect" ofType="com.monkeylessey.sys.domain.vo.SysOrgVO" property="children" column="id"/>
    </resultMap>
 
    <select id="selectOrgAndChildrenByPage" resultMap="ChildResultMap">
        select
            id, org_name, parent_id, leader_user_name, leader_phone, org_type, status, order_num
        from
            sys_org
        where
            deleted = 0 and parent_id = '0'
        order by
            order_num
        <if test="currentPage != null and pageSize != null">limit #{currentPage},#{pageSize}</if>
    </select>
 
    <select id="orgChildSelect" resultMap="ChildResultMap">
        select
            id, org_name, parent_id, leader_user_name, leader_phone, org_type, status, order_num
        from
            sys_org
        where
            deleted = 0 and parent_id = #{id}
        order by
            order_num
    </select>
 
    <select id="orgTotal" resultType="long">
        select count(*) from sys_org where deleted = 0 and parent_id = '0'
    </select>
 
</mapper>