package shanghu

import (
	"duoduo/apis/shanghu/models"
	"duoduo/models/shanghu"
	"duoduo/tools/app"
	"github.com/gin-gonic/gin"
	"time"
)

func CreateMerchantRechargeProject(c *gin.Context) {
	var inData models.CreateMerchantRechargeProjectRequest
	var sqlData shanghu.MerchantRechargeProject

	err := c.ShouldBindJSON(&inData)
	if err != nil {
		app.Error(c, 400, err, err.Error())
		return
	}

	sqlData.CreatedAt = time.Now()
	sqlData.UpdatedAt = time.Now()
	sqlData.MerchantOpenID = inData.MerchantOpenID
	sqlData.ProjectName = inData.ProjectName
	sqlData.ProjectQuantity = inData.ProjectQuantity

	_, err = sqlData.Create()
	if err != nil {
		app.Error(c, 400, err, err.Error())
		return
	}

	app.OK(c, nil, app.Success)

}

func DelMerchantRechargeProject(c *gin.Context) {
	var inData models.DelMerchantRechargeProjectRequest
	var sqlData shanghu.MerchantRechargeProject

	err := c.ShouldBindJSON(&inData)
	if err != nil {
		app.Error(c, 400, err, err.Error())
		return
	}

	sqlData.ID = inData.Id
	sqlData.MerchantOpenID = inData.MerchantOpenId

	err = sqlData.DelMerchantRecharge()
	if err != nil {
		app.Error(c, 400, err, err.Error())
		return
	}

	app.OK(c, nil, app.Success)

}

func MerchantRechargeProjectList(c *gin.Context) {
	var inData models.MerchantRechargeProjectListRequest
	var sqlData shanghu.MerchantRechargeProject

	err := c.ShouldBindJSON(&inData)
	if err != nil {
		app.Error(c, 400, err, err.Error())
		return
	}

	var pageSize = 10
	var pageIndex = 1

	if inData.PageSize != 0 {
		pageSize = inData.PageSize
	}
	if inData.PageIndex != 0 {
		pageIndex = inData.PageIndex
	}
	sqlData.MerchantOpenID = inData.OpenId

	merchant, count, err := sqlData.GetMerchantRechargeProjectListByOpenId(pageSize, pageIndex)
	if err != nil {
		app.Error(c, 500, err, err.Error())
		return
	}
	app.PageOK(c, merchant, count, pageIndex, pageSize, app.Success)

}