У меня следующий сценарий. база данных = postgresql
Управление средой аукциона. Существует таблица продаж для каждого типа аукциона (live_sales, silent_sales и т. Д. c ...), в которой есть запись для каждого проданного предмета, а также сумма выигравшей ставки и количество участников, купивших этот предмет. Затем есть таблица платежей для каждого типа аукциона (live_payment, silent_payment и т. Д. c ...), которая содержит запись для каждого платежа, совершенного по элементу).
Участники могут тратить деньги на различные способы: живой аукцион, тихий аукцион, десертный аукцион, распродажа бутиков, весла, пожертвования и т. д. c ...
Они также могут платить несколькими способами (около sh, кредитная карта, дебет, чек) и часто использую несколько типов платежей одновременно (часть в ca sh и часть в кредит, et c ...).
Я создал таблицу данных с различными записями задолженности когда участник введен / выбран в форме. Например, у них может быть 2 записи о вещах, купленных на аукционе, 1 на тихом аукционе, 3 предмета, купленных в бутике, дополнительное пожертвование в размере 100 долларов и т. Д. c ...)
Теперь в конце На аукционе пользователь выводит форму, в которой указывается сумма задолженности в каждой категории, общая сумма задолженности (в левой части экрана), а также сумма, выплачиваемая с каждым типом платежа, и общая сумма платежей.
Теперь мне нужно пройти через все это oop и создать (а) записи о платежах для каждой записи о продажах.
Итак, скажем, человек должен в общей сложности 800 долл. И платит 400 долл. приблизительно 1037 *, чек на 200 долларов и кредитная карта на 200 долларов (итоговые суммы на каждой стороне должны совпадать).
Поэтому мне нужно сначала обработать sh, проверить второе и кредитовать третье , До тех пор, пока доступен Ca sh, я буду прочесывать каждую запись с датами до 1040 *, пока все ca sh не исчезнет, затем делать то же самое с чеками, а затем с кредитом. до тех пор, пока не будут произведены все платежи.
Одна из вещей, которую я должен учитывать, - это то, что ca sh может использоваться для частичной оплаты за 1 предмет, а затем чек используется для оплаты оставшейся части за этот 1 предмет.
Итак, мой вопрос: какую наиболее эффективную технику / функцию использовать?
Если тогда еще? Дело в случае? другие варианты?
В операторе if, похоже, много повторяющихся кодов в каждом типе платежа.
Все советы, предложения, мысли, рекомендации приветствуются!