package com.czg.controller.user;

import com.alibaba.fastjson2.JSONObject;
import com.czg.account.vo.home.HomePageVO;
import com.czg.product.service.HomePageService;
import com.czg.product.vo.RecommendProVO;
import com.czg.resp.CzgResult;
import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 小程序主页相关接口
 * @author Administrator
 */
@Slf4j
@RestController
@RequestMapping("/user/home")
public class HomeController {

    @Resource
    private HomePageService homePageService;

    /**
     * 主页上部分
     * 快捷菜单区域 今日上新 飙升热榜 免单信息
     */
    @GetMapping("/homePageUp")
    public CzgResult<HomePageVO> homePageUp() {
       return CzgResult.success(homePageService.getHomeInfo());
    }

    /**
     * 获取首页商品
     * @param lng 纬度
     * @param lat 经度
     * @param address 城市
     * @param categoryId 分类 0双人餐 1饮品明细 2咖啡饮品
     * @param orderType 排序规则 0离我最近 1销量优先 2价格优先 3上新
     * @param distanceType 1000m 2000m
     * @return 商品列表
     */
    @GetMapping("/product")
    public CzgResult<Page<RecommendProVO>> home(String lng, String lat, String address, Integer categoryId, Integer orderType, Integer distanceType, String name) {
        log.info("请求参数, lng: {}, lat: {}, address: {}, caId: {}, orderType: {}, distan: {}, name: {}", lng,lat,address, categoryId, orderType, distanceType, name);
        return CzgResult.success(homePageService.getProd(lng, lat, address, categoryId, orderType, distanceType, name));
    }
}
