package dto

import (
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_cooperation"
)

type DividendsOrder struct {
	Company struct {
		CompanyID   int    `json:"companyId"`
		CompanyLogo string `json:"companyLogo"`
		CompanyName string `json:"companyName"`
	} `json:"company"`
	CustomerName              string   `json:"customerName"`              //客户名字
	DividendStatus            int      `json:"dividendStatus"`            //分红订单分红状态,1待分红,2已分红,3部分分红
	DividendTime              int64    `json:"dividendTime"`              //分红订单分红时间
	DividendsOrderAmount      float64  `json:"dividendsOrderAmount"`      //分红订单金额
	DividendsOrderID          int      `json:"dividendsOrderId"`          //分红订单
	DividendsOrderNumber      string   `json:"dividendsOrderNumber"`      //分红订单号
	DividendsOriginalOrderNum string   `json:"dividendsOriginalOrderNum"` //分红订单原单号
	OrderSalesman             struct { //订单业务员
		Department struct {
			DepartmentID     int    `json:"departmentId"`
			DepartmentName   string `json:"departmentName"`
			DepartmentNumber string `json:"departmentNumber"`
			IsOrganization   bool   `json:"isOrganization"`
		} `json:"department"`
		Org struct {
			OrgID   int    `json:"orgId"`
			OrgName string `json:"orgName"`
		} `json:"org"`
		UserBaseID int `json:"userBaseId"`
		UserID     int `json:"userId"`
		UserInfo   struct {
			UserAccount string `json:"userAccount"`
			UserAvatar  string `json:"userAvatar"`
			UserEmail   string `json:"userEmail"`
			UserName    string `json:"userName"`
			UserPhone   string `json:"userPhone"`
		} `json:"userInfo"`
		UserType int `json:"userType"`
	} `json:"orderSalesman"`
	OrderTime int64 `json:"orderTime"`
	Org       struct {
		OrgID   int    `json:"orgId"`
		OrgName string `json:"orgName"`
	} `json:"org"`
	Region struct {
		RegionName   string `json:"regionName"`
		RegionNumber string `json:"regionNumber"`
	}
}

func ToDividendsOrder(param *allied_creation_cooperation.DividendsOrder) *DividendsOrder {
	data := DividendsOrder{
		Company:                   param.Company,
		CustomerName:              param.CustomerName,
		DividendStatus:            param.DividendStatus,
		DividendTime:              param.DividendTime.Unix(),
		DividendsOrderAmount:      param.DividendsOrderAmount,
		DividendsOrderID:          param.DividendsOrderID,
		DividendsOrderNumber:      param.DividendsOrderNumber,
		DividendsOriginalOrderNum: param.DividendsOriginalOrderNum,
		OrderSalesman:             param.OrderSalesman,
		OrderTime:                 param.OrderTime.Unix(),
		Org:                       param.Org,
		Region:                    param.Region,
	}
	return &data
}