/// <summary> /// 科室分页列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <GetOfficeListPagingResponseDto> GetOfficeListPaging(GetOfficeListPagingRequestDto request) { var sqlWerre = $@" 1=1 AND A.ENABLE = @enable"; if (!string.IsNullOrWhiteSpace(request.OfficeName)) { sqlWerre = $"{sqlWerre} AND A.office_name like @OfficeName"; } if (!string.IsNullOrWhiteSpace(request.HospitalName)) { sqlWerre = $"{sqlWerre} AND C.hospital_name like @HospitalName"; } var sql = $@" SELECT A.*, B.accessory_guid, B.base_path, B.relative_path FROM t_doctor_office A LEFT JOIN t_utility_accessory B ON A.picture_guid = B.accessory_guid WHERE {sqlWerre} ORDER BY A.creation_date DESC" ; var parameters = new { enable = true, HospitalName = $"%{request.HospitalName}%", OfficeName = $"%{request.OfficeName}%", }; var pageSql = $"{sql} limit {(request.PageIndex - 1) * request.PageSize},{request.PageSize}"; using (var conn = MySqlHelper.GetConnection()) { var result = await conn.QueryAsync <GetOfficeListPagingItemDto, AccessoryModel, GetOfficeListPagingItemDto>(pageSql, (a, b) => { a.PictureUrl = $"{b?.BasePath}{b?.RelativePath}"; return(a); }, new { enable = true }, splitOn : "accessory_guid"); var count = await conn.QueryFirstOrDefaultAsync <int>($@"SELECT COUNT(1) AS count FROM({sql}) AS T", parameters); return(new GetOfficeListPagingResponseDto { Total = count, CurrentPage = result }); } }
public async Task <IActionResult> GetOfficeListPaging([FromBody] GetOfficeListPagingRequestDto request) { var response = await new DoctorOfficeBiz().GetOfficeListPaging(request); return(Success(response)); }