package com.rj.service;

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

import java.util.Map;

public interface ILbGoodsService extends IService<LbGoods> {

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

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

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

    Map<String, Object> pageQuery(
            Integer current,
            Integer size,
            String tenantId,
            Long oldId,
            Long userId,
            String title,
            Long sellerId,
            Integer isShow,
            Integer status,
            Integer currentPage,
            String createdAtStart,
            String createdAtEnd,
            String updatedAtStart,
            String updatedAtEnd);

    /**
     * 分页调用第三方 {@code /api/order/goods}，解析后 upsert 到 {@code lb_goods}。
     *
     * @param token 可选；非空时作为请求头 token，否则使用 {@code hxr.admin.goods-api-token}
     */
    Map<String, Object> syncFromHxrGoods(String tenantId, String token);

    /**
     * 按 {@code total_money} 从大到小选取金额小于39000的 {@code lb_goods}，调用 hxrd {@code /api/order/buy} 抢购；
     * 成功笔数达到 {@code maxBuyCount} 后停止，且循环抢购总次数不超过 {@code maxBuyCount} 的5倍。
     */
    Map<String, Object> rushBuy(String token, Integer maxBuyCount);
}
