UserMapper.xml 4.94 KB
<?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.sincere.userSearch.mapper.UserMapper">

    <resultMap id="TeacherInfo" type="com.sincere.userSearch.model.TeacherInfo">
        <result column="user_id" property="userId"/>
        <result column="sex" property="sex"/>
        <result column="name" property="userName"/>
        <result column="mobile" property="mobile"/>
        <result column="face" property="face"/>
        <result column="pass" property="pass"/>
        <result column="schoolid" property="schoolId"/>
        <result column="schoolname" property="schoolName"/>
        <collection property="classInfos" ofType="com.sincere.userSearch.model.TeacherClassInfo">
            <result column="classid" property="classId"/>
            <result column="classname" property="className"/>
            <result column="subjectid" property="subjectId"/>
            <result column="subjectname" property="subjectName"/>
            <result column="usertype" property="userType"/>
            <result column="TeacherId" property="teacherId"/>
            <result column="grade" property="grade"/>
            <result column="gradename" property="gradeName"/>
        </collection>
    </resultMap>
    <select id="selectTeacherInfo" parameterType="java.lang.String" resultMap="TeacherInfo">
        SELECT u.user_id , u.name , u.sex , u.mobile , u.face  , u.pass, s.school_id AS schoolid, s.numType, s.school_name AS schoolname,s.school_area as schoolArea,
      c.class_id AS classid, c.class_name AS classname,
      sj.subject_id AS subjectid, sj.subject_name AS subjectname, sj.subId as SysSubjectId,
      ur.usertype, ur.customerId AS TeacherId,c.grade AS grade,(SELECT grade FROM dbo.SZ_Grade WHERE id=c.grade) gradename
       FROM    dbo.SZ_UserRole ur
       join sz_user u on ur.user_id = u.user_id
       INNER JOIN dbo.SZ_School s ON s.school_id = ur.school_id AND ur.isconfirm=1
       LEFT JOIN dbo.SZ_Class c ON (c.state=1 AND ur.school_id = c.school_id AND c.class_id=ur.class_id AND c.is_finish=0)
       LEFT JOIN dbo.SZ_Subject sj ON sj.subject_id=ur.subject_id
       WHERE   ur.usertype not in (2,3,33,34) AND ur.state=1 AND ur.user_id=#{userId} order by ur.class_id desc
    </select>

    <resultMap id="TeacherGroup" type="com.sincere.userSearch.model.TeacherGroup">
        <result column="num" property="num"/>
        <result column="group_name" property="groupName"/>
    </resultMap>
    <select id="selectTeacherGroup" parameterType="java.lang.Integer" resultMap="TeacherGroup">
        SELECT
            SZ_Teacher.num ,
            SZ_TeaGroup.group_name
        FROM
            SZ_Teacher
            JOIN SZ_Teacher_Group ON SZ_Teacher.teacher_id = SZ_Teacher_Group.teacher_id
            join SZ_TeaGroup on SZ_Teacher_Group.group_id = SZ_TeaGroup.group_id
        WHERE
            SZ_Teacher.teacher_id = #{teacherId}
    </select>

    <resultMap id="StudentInfo" type="com.sincere.userSearch.model.StudentInfo">
        <result column="user_id" property="userId"/>
        <result column="student_id" property="studentId"/>
        <result column="name" property="studentName"/>
        <result column="school_id" property="schoolId"/>
        <result column="school_name" property="schoolName"/>
        <result column="photo" property="face"/>
        <result column="pass" property="pass"/>
        <result column="othername" property="otherName"/>
        <result column="studentcode" property="studentCode"/>
        <result column="class_id" property="classId"/>
        <result column="class_name" property="className"/>
    </resultMap>
    <select id="selectStudentInfo" parameterType="java.lang.String" resultMap="StudentInfo">
        select sz_v_school_student.* , sz_school.school_name from sz_v_school_student join sz_school
        on sz_v_school_student.school_id = sz_school.school_id  where user_id = #{userId}
    </select>


    <resultMap id="ParentInfo" type="com.sincere.userSearch.model.StudentInfo">
        <result column="user_id" property="parentUserId"/>
        <result column="mobile" property="parentMobile"/>
        <result column="name" property="parentName"/>
        <result column="pass" property="parentPass"/>
    </resultMap>
    <select id="selectParentInfo" parameterType="java.lang.Integer"  resultMap="ParentInfo">
        select sz_user.user_id , sz_user.name ,sz_user.pass ,sz_user.mobile from sz_user where user_id = (
            select user_id from sz_userRole where customerid =
            (select parent_id from SZ_SPRole where student_id = #{studentId}))
    </select>



    <select id="selectChildrenId" parameterType="java.lang.String" resultType="java.lang.String">
        select user_id from SZ_UserRole where state = 1 and  CustomerId in (
        select student_id from SZ_SPRole where parent_id in (
        select DISTINCT customerId  from SZ_UserRole where user_id = #{userId} and UserType = 3))
    </select>
</mapper>