product_dto.go 1016 字节
package dto

import "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"

type ProductDto struct {
	// 产品ID
	ProductId int `json:"productId,omitempty"`
	// 产品编号 编码规则为“CP”+2 位年+2 位月+2 位日+3 位流水码,如 CP211229001
	ProductCode string `json:"productCode,omitempty"`
	// 产品名称
	ProductName string `json:"productName,omitempty"`
	// 产品类别
	ProductCategory string `json:"productCategory,omitempty"`
	// 产品规格
	*domain.UnitQuantity
	// 组织名称
	OrgName string `json:"orgName"`
	// 权限标识 (当前登录组织匹配为true,否则false)
	AuthFlag bool `json:"authFlag"`
}

func (d *ProductDto) LoadDto(m *domain.Product, orgId int) *ProductDto {
	d.ProductId = m.ProductId
	d.ProductCode = m.ProductCode
	d.ProductName = m.ProductName
	d.ProductCategory = m.ProductCategory
	d.UnitQuantity = m.ProductSpec
	d.AuthFlag = domain.CheckOrgAuth(orgId, m.OrgId)
	if m.Ext != nil {
		d.OrgName = m.Ext.OrgName
	}
	return d
}