<?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.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderActivityDao">
  <resultMap type="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity" id="MusicGroupPaymentCalenderActivity">
    <result column="id_" property="id" />
    <result column="activity_id_" property="activityId" />
    <result column="activity_name_" property="activityName" />
    <result column="num_" property="num" />
    <result column="category_name_" property="categoryName" />
    <result column="calender_id_" property="calenderId" />
    <result column="optional_flag_" property="optionalFlag" />
    <result column="actual_amount_" property="actualAmount" />
    <result column="original_amount_" property="originalAmount" />
    <result column="create_time_" property="createTime" />
    <result column="update_time_" property="updateTime" />
        <result column="tenant_id_" property="tenantId"/>
  </resultMap>
  <sql id="Base_Column_List">
    id_, activity_id_, calender_id_, optional_flag_,actual_amount_ ,original_amount_, create_time_, update_time_,tenant_id_,activity_name_,category_name_,num_  </sql>

  <!-- 根据主键查询一条记录 -->
  <select id="get" resultMap="MusicGroupPaymentCalenderActivity" >
    SELECT * FROM music_group_payment_calender_activity WHERE id_ = #{id}
  </select>

  <!-- 全查询 -->
  <select id="findAll" resultMap="MusicGroupPaymentCalenderActivity">
    SELECT * FROM music_group_payment_calender_activity ORDER BY id_
  </select>

  <!-- 向数据库增加一条记录 -->
  <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
    INSERT INTO music_group_payment_calender_activity (activity_id_,activity_name_,num_,
    category_name_,calender_id_,optional_flag_,actual_amount_,original_amount_,create_time_,update_time_,tenant_id_,activity_name_,category_name_,num_)
    VALUES(#{activityId},#{activityName},#{num},#{categoryName},#{calenderId},#{optionalFlag},
          #{actualAmount},#{originalAmount},NOW(),NOW(),#{tenantId},#{activityName},#{categoryName},#{num})
  </insert>

  <!-- 根据主键查询一条记录 -->
  <update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity">
    UPDATE music_group_payment_calender_activity <set>
    <if test="updateTime != null">
      update_time_ = #{updateTime},
    </if>
    <if test="num != null">
      num_ = #{num},
    </if>
    <if test="activityName != null">
      activity_name_ = #{activityName},
    </if>
    <if test="calenderId != null">
      calender_id_ = #{calenderId},
    </if>
    <if test="optionalFlag != null">
      optional_flag_ = #{optionalFlag},
    </if>
    <if test="actualAmount != null">
      actual_amount_ = #{actualAmount},
    </if>
    <if test="activityId != null">
      activity_id_ = #{activityId},
    </if>
    <if test="originalAmount != null">
      original_amount_ = #{originalAmount},
    </if>
    <if test="categoryName != null">
      category_name_ = #{categoryName},
    </if>
    update_time_ = NOW()
  </set> WHERE id_ = #{id}
  </update>

  <!-- 根据主键删除一条记录 -->
  <delete id="delete" >
    DELETE FROM music_group_payment_calender_activity WHERE id_ = #{id}
  </delete>

  <!-- 分页查询 -->
  <select id="queryPage" resultMap="MusicGroupPaymentCalenderActivity" parameterType="map">
    SELECT * FROM music_group_payment_calender_activity ORDER BY id_ <include refid="global.limit"/>
  </select>

  <!-- 查询当前表的总记录数 -->
  <select id="queryCount" resultType="int">
    SELECT COUNT(*) FROM music_group_payment_calender_activity
  </select>

  <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
          parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity">
    insert into music_group_payment_calender_activity(activity_id_, calender_id_, optional_flag_, actual_amount_ ,
    original_amount_, create_time_, update_time_, tenant_id_,activity_name_,category_name_,num_)
    VALUE
    <foreach collection="calenderActivityList" item="entity" separator=",">
      (#{entity.activityId}, #{entity.calenderId}, #{entity.optionalFlag}, #{entity.actualAmount},
      #{entity.originalAmount}, NOW(), NOW(),#{entity.tenantId},#{entity.activityName},#{entity.categoryName},#{entity.num})
    </foreach>
  </insert>
  <delete id="delByCalenderId">
    DELETE FROM music_group_payment_calender_activity WHERE calender_id_ = #{calenderId}
  </delete>
    <select id="findByCalenderId" resultType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity">
      SELECT <include refid="Base_Column_List"/> FROM music_group_payment_calender_activity WHERE calender_id_ = #{calenderId}
    </select>
    <select id="findByIds" resultType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity">
      SELECT <include refid="Base_Column_List"/> FROM music_group_payment_calender_activity
      WHERE id_ IN
        <foreach collection="activityIdList" separator="," item="id" close=")" open="(">
          #{id}
        </foreach>
    </select>
    <select id="findByActivityIds" resultType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity">
      SELECT <include refid="Base_Column_List"/> FROM music_group_payment_calender_activity
      WHERE calender_id_ = #{calenderId} AND activity_id_ IN
        <foreach collection="activityIdList" separator="," item="id" close=")" open="(">
          #{id}
        </foreach>
    </select>
</mapper>