/// <summary> /// 获取医生推荐列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <GetRecommendOfficeListResponseDto> GetRecommendOfficeListAsync(GetRecommendOfficeListAsyncRequestDto request) { var sqlWhere = $@" 1=1 AND A.type = @type AND A.ENABLE = @enable"; if (!string.IsNullOrWhiteSpace(request.RecommendGuid)) { sqlWhere = $"{sqlWhere} AND A.recommend_guid=@RecommendGuid"; } if (!string.IsNullOrWhiteSpace(request.HospitalGuid)) { sqlWhere = $"{sqlWhere} AND C.hospital_guid=@HospitalGuid"; } var sql = $@" SELECT A.type, A.recommend_guid, B.detail_guid, C.office_guid, C.office_name, C.hospital_guid, C.hospital_name, C.picture_guid, CONCAT( D.base_path, D.relative_path ) AS PictureUrl FROM t_manager_recommend A INNER JOIN t_manager_recommend_detail B ON A.recommend_guid = B.recommend_guid INNER JOIN t_doctor_office C ON B.owner_guid = C.office_guid and C.`enable`=1 LEFT JOIN t_utility_accessory D ON D.accessory_guid = C.picture_guid WHERE {sqlWhere} ORDER BY C.creation_date " ; var parameters = new { type = RecommendModel.TypeEnum.Office.ToString(), enable = true, request.RecommendGuid, request.HospitalGuid }; var pageSql = $"{sql} limit {(request.PageIndex - 1) * request.PageSize},{request.PageSize}"; using (var conn = MySqlHelper.GetConnection()) { var result = await conn.QueryAsync <GetRecommendOfficeListItemDto>(pageSql, parameters); var count = await conn.QueryFirstOrDefaultAsync <int>($@"SELECT COUNT(1) AS count FROM({sql}) AS T", parameters); return(new GetRecommendOfficeListResponseDto { Total = count, CurrentPage = result }); } }
public async Task <IActionResult> GetRecommendOfficeListAsync([FromBody] GetRecommendOfficeListAsyncRequestDto request) { var response = await new RecommendBiz().GetRecommendOfficeListAsync(request); return(Success(response)); }