update_order.go 1.5 KB
package command

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

type UpdateOrderCommand struct {
	//id
	Id int64 `json:"id"`
	//订单编号
	OrderCode string `json:"orderCode"`
	//订单名称
	OrderName string `json:"oderName"`
	//数量
	OrderCount int `json:"orderCount"`
	//订单金额
	OrderAmount float64 `json:"orderAmount"`
	//买家
	BuyerPhone string `json:"buyerPhone"`
	//地址
	BuyerAddress string `json:"address"`
	//订单区域
	OrderRegion string `json:"orderRegion"`
	//合伙人分红百分比
	PartnerBonusPercent float64 `json:"partnerBonusPercent"`
	//业务员分红百分比
	SalesmanBonusPercent float64 `json:"salesmanBonusPercent"`
	//订单状态
	OrderStatus int `json:"orderStatus"`
}

func (command UpdateOrderCommand) ValidateCommand() error {
	if command.Id == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "订单id错误")
	}
	if len(command.BuyerPhone) == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "买家信息必填")
	}
	if len(command.BuyerAddress) == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "买家地址必填")
	}
	if len(command.OrderCode) == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "订单编号必填")
	}
	if len(command.OrderRegion) == 0 {
		return lib.ThrowError(lib.ARG_ERROR, "订单区域必填")
	}
	if !(command.OrderStatus == domain.OrderStatusDeliverSome ||
		command.OrderStatus == domain.OrderStatusDeliverAll ||
		command.OrderStatus == domain.OrderStatusReserve) {
		return lib.ThrowError(lib.ARG_ERROR, "订单状态设置错误")
	}
	return nil
}