(ctx context.Context, answers []*entity.Answer, req *schema.AnswerListReq)
| 698 | } |
| 699 | |
| 700 | func (as *AnswerService) SearchFormatInfo(ctx context.Context, answers []*entity.Answer, req *schema.AnswerListReq) ( |
| 701 | []*schema.AnswerInfo, error) { |
| 702 | list := make([]*schema.AnswerInfo, 0) |
| 703 | objectIDs := make([]string, 0) |
| 704 | userIDs := make([]string, 0) |
| 705 | for _, info := range answers { |
| 706 | item := as.ShowFormat(ctx, info) |
| 707 | list = append(list, item) |
| 708 | objectIDs = append(objectIDs, info.ID) |
| 709 | userIDs = append(userIDs, info.UserID, info.LastEditUserID) |
| 710 | } |
| 711 | |
| 712 | userInfoMap, err := as.userCommon.BatchUserBasicInfoByID(ctx, userIDs) |
| 713 | if err != nil { |
| 714 | return list, err |
| 715 | } |
| 716 | for _, item := range list { |
| 717 | item.UserInfo = userInfoMap[item.UserID] |
| 718 | item.UpdateUserInfo = userInfoMap[item.UpdateUserID] |
| 719 | } |
| 720 | if len(req.UserID) == 0 { |
| 721 | return list, nil |
| 722 | } |
| 723 | |
| 724 | collectedMap, err := as.collectionCommon.SearchObjectCollected(ctx, req.UserID, objectIDs) |
| 725 | if err != nil { |
| 726 | return nil, err |
| 727 | } |
| 728 | for _, item := range list { |
| 729 | item.VoteStatus = as.voteRepo.GetVoteStatus(ctx, item.ID, req.UserID) |
| 730 | item.Collected = collectedMap[item.ID] |
| 731 | item.MemberActions = permission.GetAnswerPermission(ctx, |
| 732 | req.UserID, |
| 733 | item.UserID, |
| 734 | item.Status, |
| 735 | req.CanEdit, |
| 736 | req.CanDelete, |
| 737 | req.CanRecover) |
| 738 | } |
| 739 | return list, nil |
| 740 | } |
| 741 | |
| 742 | func (as *AnswerService) ShowFormat(ctx context.Context, data *entity.Answer) *schema.AnswerInfo { |
| 743 | return as.AnswerCommon.ShowFormat(ctx, data) |
no test coverage detected