package serializer import ( "github.com/fonchain_enterprise/fonchain-approval/api/approval" "github.com/fonchain_enterprise/fonchain-approval/pkg/model" ) //BuildApproval 处理单个detail返回 func BuildApproval(entity *model.Approval, userId uint64) *approval.CreateRequest { var work *approval.Work var show *approval.Show var exhibition *approval.Exhibition var bundle *approval.Bundle var workFlows []*approval.WorkFlow isViewed := false canApproval := false copyUsers := model.FormatToResponse(entity.CopyUsers) for _, cu := range copyUsers { if userId != 0 && cu.ID == userId && cu.IsViewed == true { isViewed = true } } for _, tt := range entity.ApprovalWorkFlows { temp := &approval.WorkFlow{ ID: tt.ID, UserID: tt.UserId, Name: tt.Name, Level: uint64(tt.Level), Status: uint64(tt.Status), Reply: tt.Reply, OperatedAt: entity.CreatedAt.Format("2006-01-02 15:04:05"), } workFlows = append(workFlows, temp) } if entity.Status == model.StatusDoing && entity.NowUserId == userId { canApproval = true } response := &approval.CreateRequest{ ID: entity.ID, Domain: *entity.Domain, Status: approval.StatusType(uint64(entity.Status)), Type: entity.Type, CopyUsers: copyUsers, SubmitterID: entity.SubmitterID, SubmitterName: entity.SubmitterName, Content: entity.Content, IsViewed: isViewed, CanApproval: canApproval, WorkFlows: workFlows, Reply: entity.Reply, Work: work, Show: show, Exhibition: exhibition, Bundle: bundle, } _ = entity.SetResContent(response) return response } //BuildApprovals 处理单个detail返回 func BuildApprovals(list []*model.Approval, userId uint64) (details []*approval.CreateRequest) { for _, item := range list { temp := BuildApproval(item, userId) details = append(details, temp) } return details }