package com.YuyeTech.HeartRate.game.food.controller;

import com.YuyeTech.HeartRate.VO.ResultVO;
import com.YuyeTech.HeartRate.common.controller.*;
import com.YuyeTech.HeartRate.enums.DeviceEnum;
import com.YuyeTech.HeartRate.game.bluetoothinfo.projo.BluetoothInfo;
import com.YuyeTech.HeartRate.game.food.pojo.Food;
import com.YuyeTech.HeartRate.game.food.vo.FoodSimpleVo;
import com.YuyeTech.HeartRate.game.food.vo.FoodVo;
import com.YuyeTech.HeartRate.game.food.service.FoodService;
import com.YuyeTech.HeartRate.utils.ResultVOUtil;
import lombok.extern.slf4j.Slf4j;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;

import java.util.ArrayList;
import java.util.List;

@Slf4j
@RestController
@RequestMapping("/food/")
public class FoodController extends CommonController<FoodVo, Food, Integer> {
    @Autowired
    private FoodService foodService;


    @GetMapping(value = "/searchFromKeyword")
    public ResultVO searchFromKeyword(@RequestParam(value = "keyword") String keyword,
                                    @RequestParam(value = "page" ,defaultValue = "1") Integer page){
        //1.查询薄荷网数据
        //2.查询缓存或者数据库数据
        //3.对比，如果不存在的数据，把薄荷网数据储存到数据库
        //4.缓存对应存储的数据，多用户冲突查询时候，直接查询缓存
        //4.返回对应数据
        // 先查询缓存，缓存没有数据查询数据库
        //  如果数据库存在数据，返回数据并且放入缓存
        //2.如果
        String url = "/food/search?keyword="+keyword+"&page="+page;
        return  ResultVOUtil.success(foodService.getListFromUrl(url));
    }


    @GetMapping(value = "/searchFromGroup")
    public ResultVO searchFromGroup(@RequestParam(value = "group") Integer group,
                                      @RequestParam(value = "page" ,defaultValue = "1") Integer page){
        //1.查询薄荷网数据
        //2.查询缓存或者数据库数据
        //3.对比，如果不存在的数据，把薄荷网数据储存到数据库
        //4.缓存对应存储的数据，多用户冲突查询时候，直接查询缓存
        //4.返回对应数据
        // 先查询缓存，缓存没有数据查询数据库
        //  如果数据库存在数据，返回数据并且放入缓存
        //2.如果
        String url = "/food/group/"+group +"&page="+page;
        return  ResultVOUtil.success(foodService.getListFromUrl(url));
    }
}
