gongzuming
2024-11-11 f59d6b8d46287afc9ec306b531ed88ced407f45f
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?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.mzl.flower.mapper.payment.OrderItemMapper">
 
    <select id="getAbnormalItems" resultType="com.mzl.flower.dto.response.payment.AbnormalOrderItemDTO">
        SELECT oi.flower_name, oi.flower_unit, oi.flower_color, oi.deduct_amount
        , oi.flower_cover, oi.num , oi.supplier_price, oi.price, oi.flower_level, oi.status
        , (select oic.num from t_order_item_check oic
            where oic.order_item_id = oi.id
            and oic.type = 'replace'
            and oic.audit_status = 'AGREED'
        ) replaceNum
        , (select oic.num from t_order_item_check oic
            where oic.order_item_id = oi.id
            and oic.type = 'reduce'
            and oic.audit_status = 'AGREED'
        ) reduceNum
        , (select oic.num from t_order_item_check oic
            where oic.order_item_id = oi.id
            and oic.type = 'lack'
            and oic.audit_status = 'AGREED'
        ) lackNum
        , (select oic.deduct_amount from t_order_item_check oic
            where oic.order_item_id = oi.id
            and oic.type = 'replace'
            and oic.audit_status = 'AGREED'
        ) replaceAmount
        , (select oic.deduct_amount from t_order_item_check oic
            where oic.order_item_id = oi.id
            and oic.type = 'reduce'
            and oic.audit_status = 'AGREED'
        ) reduceAmount
        , (select oic.deduct_amount from t_order_item_check oic
            where oic.order_item_id = oi.id
            and oic.type = 'lack'
            and oic.audit_status = 'AGREED'
        ) lackAmount
        FROM t_order_item oi
        WHERE oi.deleted = 0
        and oi.status = 'abnormal'
        and oi.order_id = #{orderId}
    </select>
 
    <select id="getPlatformOrderItems" resultType="com.mzl.flower.dto.response.payment.OrderItemPlatformListDTO">
        SELECT oi.*, s.name stationName, si.contact_tel supplierTel, si.contact_name supplierContact
        , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'replace') replaceNum
        , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'reduce') reduceNum
        , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'lack') lackNum
        , (select oic.audit_status from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'replace') replaceStatus
        , (select oic.audit_status from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'reduce') reduceStatus
        , (select oic.audit_status from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'lack') lackStatus
        , (select count(1) from t_order_item_check oic where oic.order_item_id = oi.id and oic.audit_status is null) unProcessCount
        , ois.lack_fee_supplier, ois.replace_fee, ois.check_fee
        FROM t_order_item oi
        left join t_station s on s.id = oi.station_id
        left join t_supplier_info si on si.id = oi.supplier_id
        left join t_order_item_settlement ois on ois.order_item_id = oi.id
        WHERE oi.deleted = 0
        and oi.order_id = #{orderId}
    </select>
 
    <select id="getOrderItems" resultType="com.mzl.flower.dto.response.payment.OrderItemListDTO">
        SELECT oi.*
        , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'replace' and oic.audit_status = 'AGREED') replaceNum
        , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'reduce' and oic.audit_status = 'AGREED') reduceNum
        , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'lack' and oic.audit_status = 'AGREED') lackNum
        FROM t_order_item oi
        WHERE oi.deleted = 0
        and oi.order_id in
        <foreach collection="orderIds" item="orderId" open="(" separator="," close=")">
            #{orderId}
        </foreach>
    </select>
 
    <select id="getFlowerSaleNum" resultType="java.lang.Integer">
        SELECT sum(oi.num)
        FROM t_order_item oi
        JOIN t_order o on oi.order_id = o.id
        WHERE o.deleted=0
        and o.status_backend not in ('PENDING','CANCEL','REFUND')
        <if test="startTime != null">
            and o.create_time &gt; #{startTime}
        </if>
        <if test="endTime != null">
            and o.create_time &lt;= #{endTime}
        </if>
    </select>
</mapper>