<?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="cc.mrbird.febs.mall.mapper.MallLeaderAchieveMapper"> 
 | 
  
 | 
    <select id="selectListByStateAndCreateTimeAndUniqueCode" resultType="java.util.Map"> 
 | 
        select 
 | 
            a.unique_code uniqueCode, 
 | 
            IFNULL(sum(a.profit_amount),0) profitAmount 
 | 
        from mall_leader_achieve a 
 | 
        where a.state = #{state} 
 | 
          and date_format(a.CREATED_TIME, '%Y-%m-%d') = date_format(#{offsetDay}, '%Y-%m-%d') 
 | 
        group by a.unique_code 
 | 
    </select> 
 | 
  
 | 
    <update id="updateByUniqueCodeStateAndTime"> 
 | 
        update mall_leader_achieve 
 | 
        set state = 2, 
 | 
            UPDATED_TIME = #{updateTime} 
 | 
        where unique_code = #{uniqueCode} 
 | 
        and state = 1 
 | 
        and date_format(CREATED_TIME, '%Y-%m-%d') = date_format(#{offsetDay}, '%Y-%m-%d') 
 | 
    </update> 
 | 
  
 | 
    <select id="selectProfitByStateAndDateTimeAndUniqueCode" resultType="java.math.BigDecimal"> 
 | 
        select 
 | 
            IFNULL(sum(a.amount),0) amount 
 | 
        from mall_leader_achieve a 
 | 
        <where> 
 | 
            <if test="state!=null and state!=''"> 
 | 
                and  a.state = #{state} 
 | 
            </if> 
 | 
            <if test="date!=null"> 
 | 
                and date_format(a.CREATED_TIME, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') 
 | 
            </if> 
 | 
            <if test="uniqueCode!=null and uniqueCode!=''"> 
 | 
                and  a.unique_code = #{uniqueCode} 
 | 
            </if> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
    <select id="selectApiLeaderProfitListInPage" resultType="cc.mrbird.febs.mall.entity.MallLeaderAchieve"> 
 | 
        select a.*, 
 | 
               b.name nickname, 
 | 
               c.goods_name goodsName 
 | 
        from mall_leader_achieve a 
 | 
        inner join mall_member b on a.member_id = b.id 
 | 
        inner join mall_order_item c on a.order_item_id = c.id 
 | 
        <where> 
 | 
            a.state = 2 
 | 
            <if test="record != null"> 
 | 
                <if test="record.invitedId != null and record.invitedId != ''"> 
 | 
                    and a.unique_code = #{record.invitedId} 
 | 
                </if> 
 | 
                <if test="record.createdTime != null and record.createdTime != ''"> 
 | 
                    and date_format(a.CREATED_TIME, '%Y-%m-%d') = #{record.createdTime} 
 | 
                </if> 
 | 
            </if> 
 | 
        </where> 
 | 
        GROUP BY a.id  order by a.created_time desc 
 | 
    </select> 
 | 
  
 | 
</mapper> 
 |