package controllers

import (
	"encoding/json"
	"fmt"
	"oppmg/common/log"
	"oppmg/protocol"
	"oppmg/services/auth"

	"github.com/astaxie/beego/validation"
)

type AuthController struct {
	BaseController
}

//URLMapping 实现ControllerInterface中的URLMapping
func (c *AuthController) URLMapping() {
	c.Mapping("AccessToken", c.AccessToken)

}

// AccessToken ....
// @router /AccessToken [post]
func (c *AuthController) AccessToken() {
	log.Debug("运行cotrollers")
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	var param protocol.RequestCheckSmsCode
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		log.Error("json 解析失败", err)
		msg = protocol.BadRequestParam("00001")
		return
	}
	valid := validation.Validation{}
	ok, err := valid.Valid(&param)
	if err != nil {
		//TODO
		log.Error("系统错误", err)
	}
	if !ok {
		//TODO
		log.Error("参数错误")
	}
	data, commErr := auth.GetAccessToken(param)
	msg = protocol.NewReturnResponse(data, commErr)
	return
}

// Demo 登录
// @router /demo [post]
func (c *AuthController) Demo() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	type Parameter struct {
	}
	var param Parameter
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		fmt.Println("json 解析失败", err)
		// msg.Code = "1"
		return
	}
	/**/

	return
}