discussion_accept.go 1.7 KB
package domain

import (
	"context"
	"gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction"
)

type DiscussionAccept struct {
	Id              int64   // 唯一标识
	CompanyId       int64   `json:"companyId"`       // 公司ID
	ArticleId       int64   `json:"articleId"`       // 文章ID
	DiscussionId    int64   `json:"discussionId"`    // 讨论ID
	ProviderId      int64   `json:"providerId"`      // 发起人ID
	DoIds           []int64 `json:"DoIds"`           // 意见采纳-用户观点
	OpinionId       int64   `json:"opinionId"`       // 价值判定-选择观点
	SubjectiveTitle string  `json:"subjectiveTitle"` // 主观认定-标题
	SubjectiveDesc  string  `json:"subjectiveDesc"`  // 主观认定-内容
	CreatedAt       int64   `json:",omitempty"`
	UpdatedAt       int64   `json:",omitempty"`
	DeletedAt       int64   `json:",omitempty"`
	Version         int     `json:",omitempty"`
}

type DiscussionAcceptRepository interface {
	Insert(ctx context.Context, conn transaction.Conn, dm *DiscussionAccept) (*DiscussionAccept, error)
	Update(ctx context.Context, conn transaction.Conn, dm *DiscussionAccept) (*DiscussionAccept, error)
	UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *DiscussionAccept) (*DiscussionAccept, error)
	Delete(ctx context.Context, conn transaction.Conn, dm *DiscussionAccept) (*DiscussionAccept, error)
	FindOne(ctx context.Context, conn transaction.Conn, id int64) (*DiscussionAccept, error)
	Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*DiscussionAccept, error)
}

func (m *DiscussionAccept) Identify() interface{} {
	if m.Id == 0 {
		return nil
	}
	return m.Id
}