| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?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.yonge.cooleshow.biz.dal.dao.ImGroupDao">    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ImGroup">        <id column="id_" jdbcType="VARCHAR" property="id"/>        <result column="name_" jdbcType="VARCHAR" property="name"/>        <result column="introduce_" jdbcType="VARCHAR" property="introduce"/>        <result column="member_num_" jdbcType="INTEGER" property="memberNum"/>        <result column="memo_" jdbcType="VARCHAR" property="memo"/>        <result column="img_" jdbcType="VARCHAR" property="img"/>        <result column="type_" jdbcType="VARCHAR" property="type" typeHandler="com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler"/>        <result column="create_by_" property="createBy"/>        <result column="auto_pass_flag_" property="autoPassFlag"/>        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>        <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>    </resultMap>    <sql id="Base_Column_List">        id_, name_, introduce_, member_num_, memo_, img_, type_,create_by_, create_time_, update_time_    </sql>    <update id="updateById" parameterType="com.yonge.cooleshow.biz.dal.entity.ImGroup">        update im_group        <set>            <if test="et.name != null">                name_ = #{et.name},            </if>            <if test="et.autoPassFlag != null">                auto_pass_flag_ = #{et.autoPassFlag},            </if>            introduce_ = #{et.introduce},            memo_ = #{et.memo},            update_time_ = NOW()        </set>        where id_ = #{et.id}    </update>    <select id="findAll" resultMap="BaseResultMap">        SELECT ig.* FROM im_group ig        LEFT JOIN im_group_member igm ON igm.group_id_ = ig.id_        <where>            <if test="imGroupDto.type != null and imGroupDto.type != ''">                AND ig.type_ = #{imGroupDto.type}            </if>            <if test="imGroupDto.createUserId != null">                AND ig.create_by_ = #{imGroupDto.createUserId}            </if>            <if test="imGroupDto.userId != null">                AND igm.user_id_ = #{imGroupDto.userId}            </if>            <if test="imGroupDto.search != null and imGroupDto.search != ''">                AND (ig.id_ = #{imGroupDto.search} OR                ig.name_ LIKE CONCAT('%',#{imGroupDto.search},'%') OR ig.introduce_ LIKE CONCAT('%',#{imGroupDto.search},'%'))            </if>        </where>        ORDER BY id_ DESC    </select>    <resultMap id="ImGroupResultDto" type="com.yonge.cooleshow.biz.dal.dto.ImGroupResultDto" extends="BaseResultMap">        <result property="existFlag" column="existFlag"/>        <result property="hasWaitAuditFlag" column="hasWaitAuditFlag"/>    </resultMap>    <select id="queryTeacherFun" resultMap="ImGroupResultDto">        SELECT ig.*,               CASE WHEN igm.id_ IS NULL THEN 0 ELSE 1 END existFlag,               CASE WHEN igma.id_ IS NULL THEN 0 ELSE 1 END hasWaitAuditFlag        FROM im_group ig                 LEFT JOIN im_group_member igm ON ig.id_ = igm.group_id_ AND igm.user_id_ = #{imGroupDto.userId}                 LEFT JOIN im_group_member_audit igma ON igma.group_id_ = ig.id_ AND igma.audit_status_ = 'AUDITING'        WHERE ig.create_by_ = #{imGroupDto.createUserId}        <if test="imGroupDto.type != null and imGroupDto.type != ''">            AND ig.type_ = #{imGroupDto.type}        </if>        <if test="imGroupDto.search != null and imGroupDto.search != ''">            AND (ig.id_ = #{imGroupDto.search} OR            ig.name_ LIKE CONCAT('%',#{imGroupDto.search},'%') OR ig.introduce_ LIKE CONCAT('%',#{imGroupDto.search},'%'))        </if>        GROUP BY ig.id_    </select></mapper>
 |