EvalGroupIndicatorTargetHitLogMapper.xml 2.35 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="cn.fw.morax.dao.eval.EvalGroupIndicatorTargetHitLogDao">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="cn.fw.morax.domain.db.eval.EvalGroupIndicatorTargetHitLog">
            <result column="id" property="id"/>
                <result column="refer_id" property="referId"/>
                <result column="target_type" property="targetType"/>
                <result column="value" property="value"/>
                <result column="reach_value" property="reachValue"/>
                <result column="extra_reach_value" property="extraReachValue"/>
                <result column="use_target" property="useTarget"/>
                <result column="data_date" property="dataDate"/>
                <result column="group_id" property="groupId"/>
                <result column="create_time" property="createTime"/>
                <result column="update_time" property="updateTime"/>
                <result column="yn" property="yn"/>
    </resultMap>

    <select id="getIndicatorData" resultType="cn.fw.morax.domain.vo.eval.EvalGroupIndicatorTargetHitLogVO">
        SELECT
            t1.`id`,
            t1.`refer_id`,
            t1.`target_type`,
            t1.`pool_id`,
            t1.`value` AS `value`,
            t1.`reach_value`,
            t1.`extra_reach_value`,
            t1.`use_target`,
            t1.`data_date`,
            t1.`group_id`
        FROM
            eval_group_indicator_target_hit_log t1,
             (
                SELECT
                    CONVERT (SUBSTRING_INDEX( group_concat( id ORDER BY `data_date` DESC ), ',', 1 ), SIGNED ) AS id
                FROM
                    eval_group_indicator_target_hit_log
                WHERE
                    DATE_FORMAT( data_date, '%Y-%m' ) = #{monthly}
                AND pool_id IN
                    <foreach collection="poolIds" item="poolId" separator=" , " open="(" close=")">
                        #{poolId}
                    </foreach>
                AND refer_id = #{referId}
                AND scope_type = #{scopeType}
                AND target_type = #{targetType}
                GROUP BY
                    pool_id
             ) t2
        WHERE t1.id = t2.id
    </select>

</mapper>