package org.jeecg.modules.api.controller;



import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.bean.CommentBean;
import org.jeecg.bean.ProjectBean;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.bean.*;
import org.jeecg.modules.service.UserVipApiService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@Api(tags="预约相关H5接口")
@RestController
@RequestMapping("/api")
@Slf4j
public class UserVipApiController {


    @Resource
    private UserVipApiService postApiService;

    //微信公众号授权登录
    @ApiOperation(value = "用户/微信公众号授权登录",notes = "用户/微信公众号授权登录")
    @PostMapping("/wxLogin")
    public Result<?> wxLogin(OfficialLoginBean bean){
        return postApiService.wxOfficialLogin(bean);
    }

    //首页-获取banner
    @ApiOperation(value="首页-获取banner", notes="首页-获取banner")
    @GetMapping(value = "/getBanner")
    public Result<?> getBanner() {
        return postApiService.getBanner();
    }

    //首页-获取项目列表
    @ApiOperation(value="首页-获取项目列表", notes="首页-获取项目列表")
    @GetMapping(value = "/getProjectList")
    public Result<?> getProjectList(ProjectBean bean) {
        return postApiService.getProjectList(bean);
    }




    //首页-详情-获取项目详情-根据项目标识
    @ApiOperation(value="首页-详情-获取项目详情-根据项目标识", notes="首页-详情-获取项目详情-根据项目标识")
    @GetMapping(value = "/getProjectDetail")
    public Result<?> getProjectDetail(String id,TechnicianPageBean pageBean) {
        return postApiService.getProjectDetail(id,pageBean);
    }

    //技师-获取技师列表-带分页搜索
    @ApiOperation(value="技师-获取技师列表-带分页搜索", notes="技师-获取技师列表-带分页搜索")
    @GetMapping(value = "/getTechnicianList")
    public Result<?> getTechnicianList(TechnicianPageBean pageBean) {
        return postApiService.getTechnicianList(pageBean);
    }

    //技师-获取技师详情
    @ApiOperation(value="技师-获取技师详情", notes="技师-获取技师详情")
    @GetMapping(value = "/getTechnicianDetail")
    public Result<?> getTechnicianDetail(@RequestHeader("X-Access-Token") String token,String id) {
        return postApiService.getTechnicianDetail(token,id);
    }

    //订单-获取订单列表-带分页搜索
    @ApiOperation(value="订单-获取订单列表-带分页搜索", notes="订单-获取订单列表-带分页搜索")
    @GetMapping(value = "/getOrderList")
    public Result<?> getOrderList(@RequestHeader("X-Access-Token") String token,OrderPageBean pageBean) {
        return postApiService.getOrderList(token,pageBean);
    }

    //订单-获取订单详情
    @ApiOperation(value="订单-获取订单详情", notes="订单-获取订单详情")
    @GetMapping(value = "/getOrderDetail")
    public Result<?> getOrderDetail(@RequestHeader("X-Access-Token") String token,String id) {
        return postApiService.getOrderDetail(token,id);
    }

    //我的-获取优惠券列表信息
    @ApiOperation(value="我的-获取优惠券列表信息", notes="我的-获取优惠券列表信息")
    @GetMapping(value = "/getCouponList")
    public Result<?> getCouponList(@RequestHeader("X-Access-Token") String token,CouponPageBean pageBean) {
        return postApiService.getCouponList(token,pageBean);
    }


    //我的-获取地址信息列表
    @ApiOperation(value="我的-获取地址信息列表", notes="我的-获取地址信息列表")
    @GetMapping(value = "/getAddressList")
    public Result<?> getAddressList(@RequestHeader("X-Access-Token") String token,AddressPageBean pageBean) {
        return postApiService.getAddressList(token,pageBean);
    }


    //我的-获取地址信详情
    @ApiOperation(value="我的-获取地址信详情", notes="我的-获取地址信详情")
    @GetMapping(value = "/getAddressDetail")
    public Result<?> getAddressDetail(@RequestHeader("X-Access-Token") String token,String id) {
        return postApiService.getAddressDetail(token,id);
    }

    //我的-钱包-获取充值套餐列表信息
    @ApiOperation(value="我的-钱包-获取充值套餐列表信息", notes="我的-钱包-获取充值套餐列表信息")
    @GetMapping(value = "/getRechargeList")
    public Result<?> getRechargeList() {
        return postApiService.getRechargeList();
    }


    //获取配置信息
    @ApiOperation(value="获取配置信息", notes="获取配置信息")
    @GetMapping(value = "/getConfig")
    public Result<?> getConfig() {
        return postApiService.getConfig();
    }


    //获取评论信息的接口
    @ApiOperation(value="获取评论信息的接口", notes="获取评论信息的接口")
    @GetMapping(value = "/getCommentList")
    public Result<?> getCommentList(@RequestHeader("X-Access-Token") String token, CommentBean bean) {
        return postApiService.getCommentList(token,bean);
    }







    //我的-获取个人信息接口
    @ApiOperation(value="我的-获取个人信息接口", notes="我的-获取个人信息接口")
    @GetMapping(value = "/getUserInfo")
    public Result<?> getUserInfo(@RequestHeader("X-Access-Token") String token) {
        return postApiService.getUserInfo(token);
    }


    //获取分销代理流水信息
    @ApiOperation(value="获取分销代理流水信息", notes="获取分销代理流水信息")
    @GetMapping(value = "/getAgentFlow")
    public Result<?> getAgentFlow(@RequestHeader("X-Access-Token") String token,
                                  MsgWaterBean bean
    ) {
        return postApiService.getAgentFlow(token,bean);
    }


    //获取当前开发的区域接口
    @ApiOperation(value="获取当前开发的区域接口", notes="获取当前开发的区域接口")
    @GetMapping(value = "/getCurrentArea")
    public Result<?> getCurrentArea() {
        return postApiService.getCurrentArea();
    }




}
