create_partner_info.go 1.8 KB
package command

import (
	"time"

	"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
	"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/lib"
)

type CreatePartnerInfoCommand struct {
	// 合伙人姓名
	PartnerName string `json:"partnerName,omitempty"`
	// 登录账号
	Account string `json:"account,omitempty"`
	// 登录密码
	Password string `json:"password,omitempty"`
	// 状态(1:启用或者0:禁用)
	Status int `json:"status"`
	// 合伙类别
	PartnerCategory []*domain.PartnerCategory `json:"partnerCategory,omitempty"`
	//合作时间
	CooperateTime time.Time `json:"cooperateTime"`
	// 区域
	RegionInfo *domain.RegionInfo `json:"regionInfo"`
	//关联业务员
	Salesman []domain.Salesman `json:"salesman,omitempty"`
	//公司id
	CompanyId int64 `json:"companyId"`
	//备注
	Remark string `json:"remark"`
}

func (command CreatePartnerInfoCommand) ValidateCommand() error {
	if !(command.Status == domain.PARTNER_STATUS_NO || command.Status == domain.PARTNER_STATUS_YES) {
		return lib.ThrowError(lib.ARG_ERROR, "合伙人状态错误")
	}
	if len(command.PartnerCategory) == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "合伙类别必填")
	}
	if len(command.PartnerName) == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "合伙人名称必填")
	}
	if len(command.Account) == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "合伙人账号必填")
	}
	if command.RegionInfo == nil {
		return lib.ThrowError(lib.ARG_ERROR, "区域必填")
	}
	// if len(command.Salesman) == 0 {
	// 	return lib.ThrowError(lib.ARG_ERROR, "关联业务员必填")
	// }
	// for i := range command.Salesman {
	// 	if len(command.Salesman[i].Name) == 0 {
	// 		return lib.ThrowError(lib.ARG_ERROR, "关联业务员名称必填")
	// 	}
	// 	if len(command.Salesman[i].Telephone) == 0 {
	// 		return lib.ThrowError(lib.ARG_ERROR, "关联业务员电话必填")
	// 	}
	// }
	return nil
}