package com.rj.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.rj.entity.LbOrderRow;

import java.util.Map;

public interface ILbOrderRowService extends IService<LbOrderRow> {

    Map<String, Object> add(LbOrderRow entity);

    Map<String, Object> update(LbOrderRow entity);

    Map<String, Object> deleteById(Long id);

    Map<String, Object> pageQuery(
            Integer current,
            Integer size,
            String isResell,
            String dataType,
            String orderSn,
            String phone,
            Long buyerId,
            Long sellerId,
            Integer status,
            Long merchandiseId);

    /**
     * 按条件调用 hxrd 后台订单列表接口拉取数据，并 upsert 到 {@code lb_order_row}。
     */
    Map<String, Object> syncFromHxrAdmin(
            String buyTimeStart,
            String buyTimeEnd,
            String tenantId,
            Integer isResell);

    /**
     * 同 {@link #syncFromHxrAdmin(String, String, String, Integer)}；{@code hxrOrderStatus} 非空时按后台
     * {@code status} 筛选拉取（如 {@code 0} 未支付、{@code 1} 已支付），为 null 时使用通用订单列表 URL。
     */
    Map<String, Object> syncFromHxrAdmin(
            String buyTimeStart,
            String buyTimeEnd,
            String tenantId,
            Integer isResell,
            Integer hxrOrderStatus);

    /**
     * 按购买时间区间与租户查询明细，按天汇总为 {@code sum_data} 写入 {@code lb_order_row}。
     */
    Map<String, Object> generateDailySumData(String buyTimeStart, String buyTimeEnd, String tenantId);

    /**
     * 按购买时间区间与租户查询 {@code lb_order_row} 明细，将卖家姓名分批发送至钉钉（每批最多 15 条记录）。
     */
    Map<String, Object> sendSellerConfirmToDingTalk(String buyTimeStart, String buyTimeEnd, String tenantId);
}
