Committer: jirasup
LJSUP-10941: Need a page to display certain figures from the LiveJournal ShopU trunk/htdocs/admin/profit.bml
Modified: trunk/htdocs/admin/profit.bml =================================================================== --- trunk/htdocs/admin/profit.bml 2012-03-02 09:19:39 UTC (rev 11551) +++ trunk/htdocs/admin/profit.bml 2012-03-02 13:07:28 UTC (rev 11552) @@ -7,21 +7,48 @@ my $selfpromo_month = 0; my $selfpromo_day = 0; my $dbh = LJ::get_db_writer; -my $sth = $dbh->prepare("select userid,amount from payments where daterecv > '2012-01-01' and used != 'C' and method != 'wallet';"); -$sth->execute(); -while (my $row = $sth->fetchrow_hashref) { - $total_sum += $row->{amount} if LJ::SUP->is_sup_enabled(LJ::load_userid($row->{userid})); -} -$sth = $dbh->prepare("SELECT amount,propval,userid from payments left outer join payitems on payments.payid=payitems.payid left outer join payitemprop on payitemprop.piid=payitems.piid WHERE used = 'Y' AND method = 'wallet' AND year(daterecv)=year(now()) and month(daterecv)=month(now()) and item='selfpromo' and payitemprop.propname='selfpromo_refund';"); -$sth->execute(); -while (my $row = $sth->fetchrow_hashref) { - $selfpromo_month += (($row->{amount})-($row->{propval}/100)) if LJ::SUP->is_sup_enabled(LJ::load_userid($row->{userid})); -} -$sth = $dbh->prepare("SELECT amount,propval,userid from payments left outer join payitems on payments.payid=payitems.payid left outer join payitemprop on payitemprop.piid=payitems.piid WHERE used = 'Y' AND method = 'wallet' AND year(daterecv)=year(now()) and month(daterecv)=month(now()) and item='selfpromo' and payitemprop.propname='selfpromo_refund' and day(payments.daterecv)=day(now());"); -$sth->execute(); -while (my $row = $sth->fetchrow_hashref) { - $selfpromo_day += (($row->{amount})-($row->{propval}/100)) if LJ::SUP->is_sup_enabled(LJ::load_userid($row->{userid})); -} + +my $total_sum = $dbh->selectrow_array(" + SELECT SUM(amount) + FROM payments + JOIN user USING(userid) + WHERE daterecv > '2012-01-01' + AND used != 'C' + AND method != 'wallet' + AND caps & 0xc00 = 0x400 +"); + +my $selfpromo_month = $dbh->selectrow_array(" + SELECT SUM(amount - propval / 100) + FROM payments + LEFT OUTER JOIN payitems ON payments.payid = payitems.payid + LEFT OUTER JOIN payitemprop ON payitemprop.piid = payitems.piid + JOIN user USING(userid) + WHERE used = 'Y' + AND method = 'wallet' + AND year(daterecv) = year(now()) + AND month(daterecv) = month(now()) + AND item='selfpromo' + AND payitemprop.propname = 'selfpromo_refund' + AND caps & 0xc00 = 0x400 +"); + +my $selfpromo_day = $dbh->selectrow_array(" + SELECT SUM(amount - propval / 100) + FROM payments + LEFT OUTER JOIN payitems ON payments.payid = payitems.payid + LEFT OUTER JOIN payitemprop ON payitemprop.piid = payitems.piid + JOIN user USING(userid) + WHERE used = 'Y' + AND method = 'wallet' + AND year(daterecv) = year(now()) + AND month(daterecv) = month(now()) + AND item='selfpromo' + AND payitemprop.propname = 'selfpromo_refund' + AND day(payments.daterecv) = day(now()) + AND caps & 0xc00 = 0x400 +"); + return int($total_sum) . "," . int($selfpromo_month*LJ::Pay::Wallet::EXCHANGE_RATE) . "," . int($selfpromo_day*LJ::Pay::Wallet::EXCHANGE_RATE);