X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FAlliances.pm;h=d8b332017ae86043c314566bd25eca325274bba7;hb=HEAD;hp=8f0b6c67555203131bbcb25b828e7978945eb6a8;hpb=dc6cd8e0f865330c1dd3c89122e62f326314f96a;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Alliances.pm b/lib/NDWeb/Controller/Alliances.pm index 8f0b6c6..d8b3320 100644 --- a/lib/NDWeb/Controller/Alliances.pm +++ b/lib/NDWeb/Controller/Alliances.pm @@ -107,6 +107,49 @@ ORDER BY tick DESC, mission $c->stash(intel => $query->fetchall_arrayref({}) ); } + +sub pscans : Local { + my ( $self, $c, $id ) = @_; + my $dbh = $c->model; + + my $members = $dbh->prepare(q{ + SELECT pid AS id, coords(x,y,z), metal, crystal, eonium, ps.tick + ,planet_status,hit_us, sizerank, scorerank, valuerank, xprank + FROM current_planet_stats p left outer join current_planet_scans ps using (pid) + WHERE p.aid = ? + ORDER BY x,y,z + }); + $members->execute($id); + $c->stash(members => $members->fetchall_arrayref({}) ); + +} + +sub fleet : Local { + my ( $self, $c, $id ) = @_; + my $dbh = $c->model; + + my $query = $dbh->prepare(q{SELECT ship, id FROM ship_stats WHERE id >= 0 ORDER BY id ASC;}); + $query->execute; + $c->stash(ships => $query->fetchall_arrayref({})); + + my $members = $dbh->prepare(q{ +WITH +aus AS (SELECT DISTINCT ON (pid) pid, fid, name,tick + FROM fleets f join fleet_scans fs using (fid) + WHERE mission = 'Full fleet' and name IN ('Advanced Unit', 'Military') + ORDER BY pid,tick DESC) +,ships AS (SELECT pid, tick, ship, amount, id AS ship_id + FROM fleet_ships fs JOIN aus USING(fid) JOIN ship_stats USING(ship)) +SELECT pid, coords(x,y,z), p.race, tick, jsonb_object_agg(ship_id, amount) AS ships + FROM ships JOIN current_planet_stats p USING (pid) + WHERE p.aid = $1 + GROUP BY x,y,z,pid,race,tick; + }); + $members->execute($id); + $c->stash(members => $members->fetchall_arrayref({}) ); + +} + sub postallianceupdate : Local { my ( $self, $c, $id, $order ) = @_; my $dbh = $c->model;