package controller

import (
	"context"

	logic3 "github.com/fonchain/fonchain-artistinfo/cmd/internal/logic"
	"github.com/fonchain/fonchain-artistinfo/pb/mgmtStatement"
	"github.com/fonchain/fonchain-artistinfo/pkg/m"
)

type MgmtStatementProvider struct {
	mgmtStatement.UnimplementedMgmtStatementServer
	mgmtStatementLogic *logic3.MgmtStatement
}

//通过excel获得批次数据
func (a *MgmtStatementProvider) AddBatchDetail(ctx context.Context, in *mgmtStatement.AddBatchDetailreq) (resp *mgmtStatement.AddBatchDetailres, err error) {
	resp = &mgmtStatement.AddBatchDetailres{}
	err = nil
	if resp, err = a.mgmtStatementLogic.AddBatchDetail(in); err != nil {
		return
	}
	resp.Msg = m.CREATE_SUCCESS
	return
}

//通过excel导入数据存入数据库(附件一)
func (a *MgmtStatementProvider) UploadExcelOne(ctx context.Context, in *mgmtStatement.UploadExcelOnereq) (resp *mgmtStatement.UploadExcelOneres, err error) {
	resp = &mgmtStatement.UploadExcelOneres{}
	err = nil
	if resp, err = a.mgmtStatementLogic.UploadExcelOne(in); err != nil {
		return
	}
	resp.Msg = m.CREATE_SUCCESS
	return
}

//通过excel导入数据存入数据库(附件二)
func (a *MgmtStatementProvider) UploadExcelTwo(ctx context.Context, in *mgmtStatement.UploadExcelTworeq) (resp *mgmtStatement.UploadExcelTwores, err error) {
	resp = &mgmtStatement.UploadExcelTwores{}
	err = nil
	if resp, err = a.mgmtStatementLogic.UploadExcelTwo(in); err != nil {
		return
	}
	resp.Msg = m.CREATE_SUCCESS
	return
}

//画家对账单列表
func (a *MgmtStatementProvider) ArtistStatementList(ctx context.Context, in *mgmtStatement.ArtistStatementListreq) (resp *mgmtStatement.ArtistStatementListres, err error) {
	resp = &mgmtStatement.ArtistStatementListres{}
	err = nil
	if resp, err = a.mgmtStatementLogic.ArtistStatementList(in); err != nil {
		return
	}
	resp.Msg = m.SUCCESS
	return
}

//画作对账单列表
func (a *MgmtStatementProvider) ArtStatementList(ctx context.Context, in *mgmtStatement.ArtStatementListreq) (resp *mgmtStatement.ArtStatementListres, err error) {
	resp = &mgmtStatement.ArtStatementListres{}
	err = nil
	if resp, err = a.mgmtStatementLogic.ArtStatementList(in); err != nil {
		return
	}
	resp.Msg = m.SUCCESS
	return
}

//更新对账单状态
func (a *MgmtStatementProvider) UpdateState(ctx context.Context, in *mgmtStatement.UpdateStatementreq) (resp *mgmtStatement.UpdateStatementres, err error) {
	resp = &mgmtStatement.UpdateStatementres{}
	if err = a.mgmtStatementLogic.UpdateState(in); err != nil {
		return
	}
	resp.Msg = m.UPDATE_SUCCESS
	return
}

//导出合同
func (a *MgmtStatementProvider) ExportContract(ctx context.Context, in *mgmtStatement.ExportContractreq) (resp *mgmtStatement.ExportContractres, err error) {
	resp = &mgmtStatement.ExportContractres{}
	err = nil
	if resp, err = a.mgmtStatementLogic.ExportContract(in); err != nil {
		return
	}
	return
}

//生成管理系统合同
func (a *MgmtStatementProvider) CreateTxContract(ctx context.Context, in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error) {
	resp = &mgmtStatement.CreateTxContractres{}
	err = nil
	if resp, err = a.mgmtStatementLogic.CreateTxContract(in); err != nil {
		return
	}
	return
}