package org.jeecg.modules.api.cheeroncontroller;


import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.apiBean.OrderPayBean;
import org.jeecg.modules.apiBean.OrderRechargeBean;
import org.jeecg.modules.apiBean.OrderWaterPageBean;
import org.jeecg.modules.apiUtils.printUtil;
import org.jeecg.modules.apiservice.InfoApiService;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@Api(tags="加油小程序-个人中心相关接口")
@RestController
@RequestMapping("/cheer/info")
@Slf4j
public class CheerInfoController {

    //获取个人中心接口
    @Resource
    private InfoApiService infoApiService;


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


    //修改个人信息接口
    @ApiOperation(value="小程序-修改个人信息接口", notes="小程序-修改个人信息接口")
    @PostMapping("/updateInfo")
    public Result<?> updateInfo(@RequestHeader("X-Access-Token") String token, HanHaiMember bean)
    {
        return infoApiService.updateInfo(token,bean);
    }


    /********************************************************************************************/
    /**************************************加油小程序相关*****************************************/
    //获取加油流水订单
    @ApiOperation(value="小程序-获取加油流水订单", notes="小程序-获取加油流水订单")
    @GetMapping("/getOrderWaterPage")
    public Result<?> getOrderWaterPage(@RequestHeader("X-Access-Token") String token, OrderWaterPageBean bean)
    {
        return infoApiService.getOrderWaterPage(token,bean);
    }

    //获取加油流水订单
    @ApiOperation(value="小程序-用户输入支付创建支付订单并且支付", notes="小程序-用户输入支付创建支付订单并且支付")
    @GetMapping("/createOrderPay")
    public Result<?> createOrderPay(@RequestHeader("X-Access-Token") String token, OrderPayBean bean){
        return infoApiService.createOrderPay(token, bean);
    }

    //获取充值套餐列表
    @ApiOperation(value="小程序-获取充值套餐列表", notes="小程序-获取充值套餐列表")
    @RequestMapping(value = "/getRechargePage", method = {RequestMethod.GET})
    public Result<?> getRechargePage(OrderRechargeBean bean){

        return infoApiService.getRechargePage(bean);
    }

    //获取配置信息：折扣、客户电话、客户微信
    @ApiOperation(value="小程序-获取配置信息：折扣、客户电话、客户微信等", notes="小程序-获取配置信息：折扣、客户电话、客户微信等")
    @RequestMapping(value = "/getConfig", method = {RequestMethod.GET})
    public Result<?> getConfig(String keyValue){
        return infoApiService.getConfig(keyValue);
    }

//
//    //打印账单
//    @ApiOperation(value="小程序-打印账单", notes="小程序-打印账单")
//    @RequestMapping(value = "/printBill", method = {RequestMethod.GET})
//    public static Result<?> printBill(){
//        //拼接打印信息
//        String content = printUtil.spellMessage();
//
//        //客户要求打印两次
//        printUtil.printBill(content);
//        printUtil.printBill(content);
//
//        return Result.OK("打印成功");
//    }


    //支付回调
    @PostMapping("/notify")
    public Object createNotify(@RequestBody String requestBody){
        return infoApiService.createNotify(requestBody);
    }

}
