package domain import "time" type PartnerInfoRepository interface { Save(dm *PartnerInfo) (*PartnerInfo, error) Remove(dm *PartnerInfo) (*PartnerInfo, error) FindOne(queryOptions map[string]interface{}) (*PartnerInfo, error) Find(queryOptions map[string]interface{}) (int64, []*PartnerInfo, error) } type PartnerInfo struct { // 合伙人ID Id int64 `json:"id"` // 合伙人姓名 PartnerName string `json:"partnerName"` // 登录账号 Account string `json:"account"` // 登录密码 Password string `json:"password"` // 状态(1:启用或者0:禁用) Status int `json:"status"` // 合伙类别 (1.研发合伙人 2.业务合伙人 3.事业) PartnerCategory int `json:"partnerCategory"` //创建时间 CreateAt time.Time `json:"createAt"` //更新时间 UpdateAt time.Time `json:"updateAt"` //关联业务员 Salesman []*Salesman `json:"salesman"` } func (m *PartnerInfo) Identify() interface{} { if m.Id == 0 { return nil } return m.Id } func (m *PartnerInfo) Update(data map[string]interface{}) error { if partnerName, ok := data["partnerName"]; ok && partnerName != "" { m.PartnerName = partnerName.(string) } if account, ok := data["account"]; ok && account != "" { m.Account = account.(string) } if password, ok := data["account"]; ok && password != "" { m.Password = password.(string) } if status, ok := data["status"]; ok && status != 0 { m.Status = status.(int) } if partnerCategory, ok := data["partnerCategory"]; ok && partnerCategory != 0 { m.PartnerCategory = partnerCategory.(int) } if salesman, ok := data["salesman"]; ok { m.Salesman = salesman.([]*Salesman) } m.UpdateAt = time.Now() return nil }