コード例 #1
0
        public async Task <SearchFaqsQuestionResponseDto> SearchFaqsQuestionAsync(SearchFaqsQuestionRequestDto request)
        {
            var sqlWhere = $@"AND a.enable=1";

            if (!string.IsNullOrWhiteSpace(request.Keyword))
            {
                request.Keyword = $"{request.Keyword}%";
                sqlWhere        = $"{sqlWhere} AND a.content like @Keyword";
            }
            if (request.RewardType != null)
            {
                sqlWhere = $"{sqlWhere} AND a.reward_type = '{request.RewardType.ToString()}'";
            }
            if (!string.IsNullOrWhiteSpace(request.Phone))
            {
                request.Phone = $"{request.Phone}%";
                sqlWhere      = $"{sqlWhere} AND (b.phone like @Phone or b.nick_name like @Phone or b.user_name like @Phone )";
            }
            var sql = $@"
SELECT
	a.question_guid,
	a.user_guid,
	a.STATUS,
	a.answer_num,
	a.content,
	a.attachment_guid_list,
	a.creation_date,
	a.ENABLE,
	a.reward_intergral,
	a.reward_type,
    b.user_name
FROM
	t_faqs_question a
left join t_utility_user b on a.user_guid=b.user_guid
WHERE
	1 = 1 {sqlWhere}
ORDER BY
	creation_date desc"    ;

            return(await MySqlHelper.QueryByPageAsync <SearchFaqsQuestionRequestDto, SearchFaqsQuestionResponseDto, SearchFaqsQuestionItemDto>(sql, request));
        }
コード例 #2
0
        public async Task <IActionResult> SearchFaqsQuestionAsync([FromBody] SearchFaqsQuestionRequestDto request)
        {
            var response = await new FaqsQuestionBiz().SearchFaqsQuestionAsync(request);
            var aguids   = new List <string> {
            };
            //var uguids = new List<string> { };
            var guids = new List <string> {
            };

            foreach (var item in response.CurrentPage)
            {
                item.AttachmentGuidList2 = Newtonsoft.Json.JsonConvert.DeserializeObject <string[]>(item.AttachmentGuidList ?? "[]");
                aguids.AddRange(item.AttachmentGuidList2);
                //uguids.Add(item.UserGuid);
                guids.Add(item.QuestionGuid);
            }
            var accessorys = await new AccessoryBiz().GetListAsync(aguids);
            //var users = await new UserBiz().GetListAsync(uguids);
            var hots         = await new HotBiz().GetListAsync(guids);
            var collectioncs = await new CollectionBiz().GetCollectionCountAsync(guids);

            foreach (var item in response.CurrentPage)
            {
                item.Attachments = accessorys.Where(a => item.AttachmentGuidList2.Contains(a.AccessoryGuid)).Select(s => new SearchFaqsQuestionItemDto.Attachment
                {
                    Guid = s.AccessoryGuid,
                    Url  = $"{s.BasePath}{s.RelativePath}"
                }).ToArray();
                //item.UserName = users.FirstOrDefault(a => a.UserGuid == item.UserGuid)?.UserName;

                var hot = hots.FirstOrDefault(a => a.OwnerGuid == item.QuestionGuid);

                //item.LikeCount = hot?.LikeCount ?? 0;
                item.VisitCount      = hot?.VisitCount ?? 0;
                item.CollectionCount = hot?.CollectCount ?? 0;
            }
            return(Success(response));
        }