package api

import (
	"enterprise/common/model"
	"github.com/smbrave/goutil"
	"github.com/spf13/cast"
)

type Calculator struct {
	Id         string `json:"id"`
	Name       string `json:"name"`
	Expression string `json:"expression"`
	CreateTime string `json:"create_time"`
	UpdateTime string `json:"update_time"`
}

type ListCalculatorReq struct {
	BaseRequest
	Name       string `form:"name"`
	Expression string `form:"expression"`
}

type CreateCalculatorReq struct {
	Name       string `json:"name"`
	Expression string `json:"expression"`
}

type UpdateCalculatorReq struct {
	Id         string `json:"id"`
	Name       string `json:"name"`
	Expression string `json:"expression"`
}

func (c *Calculator) From(m *model.SalaryCalculator) {
	c.Id = cast.ToString(m.Id)
	c.Name = m.Name
	c.Expression = m.Expression
	c.CreateTime = goutil.TimeToDateTime(m.CreateTime)
	c.UpdateTime = goutil.TimeToDateTime(m.UpdateTime)
}