package com.hai.service;

import com.alibaba.fastjson.JSONObject;
import com.hai.entity.*;
import com.hai.model.BsProductConfigModel;
import io.swagger.annotations.Api;

import java.util.Calendar;
import java.util.List;
import java.util.Map;

/**
 * @serviceName ApiProductService.java
 * @author Sum1Dream
 * @version 1.0.0
 * @Description // Api产品配置
 * @createTime 14:54 2022/6/7
 **/
public interface ApiProductService {

    /**
    * @Author Sum1Dream
    * @name insertApiProduct.java
    * @Description // 新增api产品
    * @Date 14:55 2022/6/7
    * @Param [com.alibaba.fastjson.JSONObject]
    * @return void
    */
    void insertApiProduct(JSONObject object);

    /**
    * @Author Sum1Dream
    * @name updateApiProduct.java
    * @Description // 修改api产品
    * @Date 14:56 2022/6/7
    * @Param [com.alibaba.fastjson.JSONObject]
    * @return void
    */
    void updateApiProduct(ApiProduct apiProduct);

    /**
    * @Author Sum1Dream
    * @name getListApiProduct.java
    * @Description // 查询api产品列表
    * @Date 14:57 2022/6/7
    * @Param [java.util.Map<java.lang.String,java.lang.Object>]
    * @return java.util.List<com.hai.entity.ApiProduct>
    */
    List<ApiProduct> getListApiProduct(Map<String, Object> map);

    /**
    * @Author Sum1Dream
    * @name findById.java
    * @Description // 根据id 查询api产品
    * @Date 15:24 2022/6/7
    * @Param [java.lang.Long]
    * @return com.hai.entity.ApiProduct
    */
    ApiProduct findById(Long id);

    /**
     * @Author Sum1Dream
     * @name insertApiProduct.java
     * @Description // 配置产品api产品
     * @Date 14:55 2022/6/7
     * @Param [com.alibaba.fastjson.JSONObject]
     * @return void
     */
    void configApiProduct(JSONObject object);

    /**
    * @Author Sum1Dream
    * @name updateConfigApiProduct.java
    * @Description // 修改配置产品
    * @Date 11:17 2022/6/9
    * @Param [com.alibaba.fastjson.JSONObject]
    * @return void
    */
    void updateConfigApiProduct(ApiProductConfig apiProductConfig);

    /**
     * @Author Sum1Dream
     * @name findProductConfigById.java
     * @Description // 查询配置产品
     * @Date 11:02 2022/6/9
     * @Param [java.lang.Long]
     * @return com.hai.entity.ApiProductConfig
     */
    ApiProductConfig findProductConfigById(Long id);

    /**
    * @Author Sum1Dream
    * @name findMchProduct.java
    * @Description // 查询商户商品
    * @Date 17:38 2022/6/10
    * @Param [java.util.Map<java.lang.String,java.lang.Object>]
    * @return com.hai.entity.ApiProductConfig
    */
    ApiProductConfig findMchProduct(Map<String , Object> map);

    /**
    * @Author Sum1Dream
    * @name updateStarbucksProducts.java
    * @Description // 更新星巴克产品
    * @Date 16:38 2022/6/29
    * @Param [com.hai.entity.ApiStarbucksProducts]
    * @return void
    */
    void updateStarbucksProducts(ApiStarbucksProducts starbucksProducts);

    /**
    * @Author Sum1Dream
    * @name insertStarbucksProducts.java
    * @Description // 插入星巴克产品
    * @Date 16:38 2022/6/29
    * @Param [com.hai.entity.ApiStarbucksProducts]
    * @return void
    */
    void insertStarbucksProducts(ApiStarbucksProducts starbucksProducts);

    /**
    * @Author Sum1Dream
    * @name findStarbucksProductsByGoodsId.java
    * @Description // 更新商品id 查询商品
    * @Date 16:56 2022/6/29
    * @Param [java.lang.Long]
    * @return com.hai.entity.ApiStarbucksProducts
    */
    ApiStarbucksProducts findStarbucksProductsByGoodsId(Long goodsId);

    /**
    * @Author Sum1Dream
    * @name findStarbucksProducts.java
    * @Description // 查询星巴克商品
    * @Date 15:50 2018/6/30
    * @Param [java.lang.Long]
    * @return com.hai.entity.ApiStarbucksProducts
    */
    ApiStarbucksProducts findStarbucksProducts(Long id);

    /**
     * @Author Sum1Dream
     * @name findStarbucksProducts.java
     * @Description // 查询星巴克商品
     * @Date 15:50 2018/6/30
     * @Param [java.lang.Long]
     * @return com.hai.entity.ApiStarbucksProducts
     */
    List<ApiStarbucksProducts> findStarbucksByCategoryName(String categoryName);

    void ProductConfig(JSONObject object);

    void updateProductConfig(JSONObject object);

    /**
    * @Author Sum1Dream
    * @name getProductConfig.java
    * @Description // 查询星巴克产品
    * @Date 13:47 2022/6/30
    * @Param []
    * @return java.util.List<com.hai.entity.BsProductConfig>
    */
    List<ApiStarbucksProducts> getStarbucksProducts(Map<String, Object> map);

    /**
    * @Author Sum1Dream
    * @name getProductConfig.java
    * @Description // 查询配置产品
    * @Date 15:41 2022/6/30
    * @Param [java.util.Map<java.lang.String,java.lang.Object>]
    * @return java.util.List<com.hai.model.BsProductConfigModel>
    */
    List<BsProductConfigModel> getProductConfigModel(Map<String , Object> map);

    /**
    * @Author Sum1Dream
    * @name getProductConfig.java
    * @Description // 查询产品配置
    * @Date 16:16 2022/6/30
    * @Param [java.util.Map<java.lang.String,java.lang.Object>]
    * @return java.util.List<com.hai.entity.BsProductConfig>
    */
    List<BsProductConfig> getProductConfig(Map<String , Object> map);

    /**
    * @Author Sum1Dream
    * @name findProductConfig.java
    * @Description // 根据id查询配置产品
    * @Date 17:28 2022/6/30
    * @Param [java.lang.Long]
    * @return com.hai.entity.BsProductConfig
    */
    BsProductConfig findProductConfig(Long id);

    BsProductConfig findProductConfigByGoodsId(Long productId);

    /**
    * @Author Sum1Dream
    * @name getCategoryName.java
    * @Description // 查询商品分类
    * @Date 10:55 2022/7/1
    * @Param []
    * @return java.util.List<java.lang.String>
    */
    List<String> getCategoryName();

    /**
    * @Author Sum1Dream
    * @name getAllCity.java
    * @Description // 查询所有城市
    * @Date 10:06 2022/7/4
    * @Param []
    * @return
    */
    List<ApiCity> getAllCity(String cityName);

    /**
    * @Author Sum1Dream
    * @name insertCity.java
    * @Description // 插入城市
    * @Date 17:18 2022/7/13
    * @Param [com.hai.entity.ApiKfcStores]
    * @return void
    */
    void insertCity(ApiCity apiCity);

    void updateCity(ApiCity apiCity);

    /**
    * @Author Sum1Dream
    * @name insertKfcStore.java
    * @Description // 插入kfc门店
    * @Date 10:32 2022/7/4
    * @Param [com.hai.entity.ApiKfcStores]
    * @return void
    */
    void insertKfcStore(ApiKfcStores apiKfcStores);

    /**
    * @Author Sum1Dream
    * @name updateKfcStore.java
    * @Description // 更新肯德基门店
    * @Date 10:32 2022/7/4
    * @Param [com.hai.entity.ApiKfcStores]
    * @return void
    */
    void updateKfcStore(ApiKfcStores apiKfcStores);

    /**
    * @Author Sum1Dream
    * @name findKfcStores.java
    * @Description // 查询肯德基门店
    * @Date 10:33 2022/7/4
    * @Param [java.util.Map<java.lang.String,java.lang.Object>]
    * @return com.hai.entity.ApiKfcStores
    */
    ApiKfcStores findKfcStores(Map<String, Object> map);

    /**
    * @Author Sum1Dream
    * @name getKfcStoresList.java
    * @Description // 查询肯德基门店列表
    * @Date 10:34 2022/7/4
    * @Param [java.util.Map<java.lang.String,java.lang.Object>]
    * @return java.util.List<com.hai.entity.ApiKfcStores>
    */
    List<ApiKfcStores> getKfcStoresList(Map<String, Object> map);
}
