コード例 #1
0
        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));
        }
コード例 #2
0
        /// <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));
        }