public async Task <IActionResult> GetMealAccountDetails([FromQuery] GetMealAccountDetailListRequestDto request) { if (request.StartTime.HasValue && request.EndTime.HasValue) { if (request.StartTime > request.EndTime) { return(Failed(ErrorCode.Empty, "开始时间需小于结束时间")); } } var accountDetailBiz = new MealAccountDetailBiz(); var details = await accountDetailBiz.GetDetailsByHospitalGuid(request); return(Success(details)); }
/// <summary> /// 获取指定医院用户钱包账户明细流水 /// </summary> /// <param name="requestDto"></param> /// <returns></returns> public async Task <GetMealAccountDetailListResponseDto> GetDetailsByHospitalGuid(GetMealAccountDetailListRequestDto requestDto) { var sql = $@"SELECT u.phone, a.user_type, a.account_type, d.account_detail_fee as fee, d.account_detail_income_type as income_type, d.account_detail_type as type, d.account_detail_after_fee as total_fee, d.creation_date FROM t_meal_account_detail as d INNER JOIN t_meal_account as a on d.account_guid = a.account_guid INNER JOIN t_utility_user as u on u.user_guid = a.user_guid WHERE a.hospital_guid = @HospitalGuid"; if (!string.IsNullOrEmpty(requestDto.Phone)) { sql += $" and u.phone = @Phone"; } if (requestDto.StartTime.HasValue) { sql += " and d.creation_date >= @StartTime"; } if (requestDto.EndTime.HasValue) { requestDto.EndTime = requestDto.EndTime.Value.AddDays(1); sql += " and d.creation_date <= @EndTime"; } sql += " order by d.creation_date desc"; return(await MySqlHelper.QueryByPageAsync <GetMealAccountDetailListRequestDto, GetMealAccountDetailListResponseDto, MealAccountDetailItem>(sql, requestDto)); }