xiaoyong931011
2022-09-22 190a3c789ff38c990c5c57e18e0943a10dace39d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?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>