| <?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> |