SELECT r.*,
               o.dvy_type      as o_dvy_type,
               o.pay_time      as o_pay_time,
               o.order_number  AS o_order_number,
               o.actual_total  AS o_actual_total,
               o.hb_order_status        AS o_status,
               s.pay_no        AS s_order_pay_no,
               sp.shop_name    AS shop_name,
               s.settlement_id AS s_settlement_id,
               d.*
        FROM tz_order_refund r
                 LEFT JOIN tz_order o ON r.order_id = o.order_id
                 LEFT JOIN tz_shop_detail sp ON sp.shop_id = o.shop_id
                 LEFT JOIN tz_refund_delivery d ON r.refund_sn = d.refund_sn
                 LEFT JOIN tz_order_settlement s ON o.order_number = s.order_number
     
    
    
        SELECT
        r.*,
        rd.payer,
        rd.price,
        IF(r.goods_num = 0,o.product_nums,r.goods_num) AS r_goods_num,
        o.order_number AS o_order_number,
        o.pay_time as o_pay_time,
        o.actual_total AS o_actual_total,
        o.product_nums AS product_nums,
        o.hb_order_status AS o_status,
        o.refund_status AS o_refund_status,
        sd.shop_name AS shop_name
        FROM tz_order_refund r
        LEFT JOIN tz_order o on r.order_id = o.order_id
        LEFT JOIN tz_shop_detail sd on sd.shop_id = r.shop_id
        LEFT JOIN tz_refund_delivery rd on rd.refund_sn=r.refund_sn
        
            
                AND r.shop_id = #{orderRefundDto.shopId}
             
            
                AND r.user_id = #{orderRefundDto.userId}
             
            
                AND r.refund_sn = #{orderRefundDto.refundSn}
             
            
                AND o.order_number = #{orderRefundDto.orderNumber}
             
            
                AND r.apply_type = #{orderRefundDto.applyType}
             
            
                AND r.apply_time >= #{beginTime}
             
            
                AND r.apply_time <= #{endTime}
             
            
                AND r.return_money_sts = #{orderRefundDto.returnMoneySts}
             
            
                AND sd.shop_name LIKE concat("%",#{orderRefundDto.shopName},"%")
             
            
                AND o.order_type = #{orderRefundDto.orderType}
             
            
                AND r.refund_type = #{orderRefundDto.refundType}
             
         
        ORDER BY apply_time DESC
     
    
    
        
            and r.shop_id = #{shopId}
         
     
    
    
        SELECT count(*)
        FROM tz_order_refund r
                 LEFT JOIN tz_order o on r.order_id = o.order_id
                 LEFT JOIN tz_shop_detail sd on sd.shop_id = r.shop_id
        where r.user_id = #{userId}
     
    
         
    
        SELECT SUM(refund_amount) as payActualTotal,count(*) as refundCount FROM tz_order_refund
        
            
                and shop_id = #{shopId}
             
            
                and refund_time >= #{startTime}
             
            
                and refund_time <= #{endTime}
             
            AND return_money_sts =5
         
     
    
        SELECT MAX(buyer_reason) as buyerReason,prod_name as refundPordName,COUNT(buyer_reason) as
        refundCount,SUM(refund_amount) as payActualTotal
        FROM `tz_order_refund` a LEFT JOIN tz_order b
        ON a.order_id = b.order_id
        
            
                and a.shop_id = #{shopId}
             
            
                and refund_time >= #{startTime}
             
            
                and refund_time <= #{endTime}
             
            AND return_money_sts =5
         
        GROUP BY prod_name ORDER BY SUM(refund_amount) DESC LIMIT 0,5
     
    
        SELECT buyer_reason as buyerReason,MAX(prod_name) as refundPordName,COUNT(buyer_reason) as
        refundCount,SUM(refund_amount) as payActualTotal
        FROM `tz_order_refund` a LEFT JOIN tz_order b
        ON a.order_id = b.order_id
        
            
                and a.shop_id = #{shopId}
             
            
                and refund_time >= #{startTime}
             
            
                and refund_time <= #{endTime}
             
            AND return_money_sts =5
         
        GROUP BY buyer_reason ORDER BY SUM(refund_amount) DESC LIMIT 0,5
     
    
        SELECT dates as refundDate,MAX(payActualTotal) as payActualTotal,MAX(refundCount) as refundCount FROM(
        SELECT @cdate := DATE_ADD(@cdate,INTERVAL - 1 DAY) dates ,0 AS payActualTotal,0 AS 'refundCount'
        FROM (SELECT @cdate :=DATE_ADD(CURDATE(),INTERVAL + 1 DAY) FROM tz_user) t1
        
            
                and @cdate >= #{startTime}
             
         
        UNION ALL
        SELECT DATE_FORMAT(refund_time, '%Y-%m-%d') AS dates,SUM(refund_amount) AS payActualTotal,COUNT(refund_id)
        refundCount FROM tz_order_refund
        
            
                and shop_id = #{shopId}
             
            
                and refund_time >= #{startTime}
             
            
                and refund_time <= #{endTime}
             
            AND return_money_sts =5
         
        GROUP BY dates)_tmpAllTable GROUP BY dates
        ORDER BY dates
     
    
        UPDATE tz_order_refund
        
            return_money_sts = #{status},update_time = now(),
            
                handel_time = now()
             
         
        WHERE refund_id IN (
        
            #{item.refundId}
         
        )
     
    
        select ifnull(sum(refund_amount), 0)
        from tz_order_refund
        where order_id = #{orderId}
          and return_money_sts = 5
     
    
        SELECT r.*
        FROM tz_order_refund r
        WHERE r.`order_id` = #{orderId}
          --         买家撤回申请
          AND r.`return_money_sts` != 6
           --         商家拒绝
           AND r.`return_money_sts` != 7
           --         退款关闭
           AND r.`return_money_sts` != - 1
     
    
        select ifnull(sum(platform_refund_amount), 0)
        from tz_order_refund
        where order_id = #{orderId}
          and return_money_sts = 5
     
    
        SELECT COUNT(*)
        FROM tz_order_refund
        WHERE order_id = (SELECT order_id
                          FROM tz_order_refund
                          WHERE refund_sn = #{refundSn } AND return_money_sts IN (1, 2, 3, 4, 5))
     
    
        SELECT COUNT(refund_id)
        FROM `tz_order_refund`
        WHERE order_item_id = #{orderItemId}
          AND (return_money_sts >= #{returnMoneySts0} AND return_money_sts <= #{returnMoneySts1})