Merge branch 'main' into feature/warehouse-v2

This commit is contained in:
wish
2024-02-20 20:46:49 +11:00
2 changed files with 12 additions and 12 deletions

View File

@@ -190,8 +190,8 @@ func handleMsgMhfInfoFesta(s *Session, p mhfpacket.MHFPacket) {
} }
var blueSouls, redSouls uint32 var blueSouls, redSouls uint32
s.server.db.QueryRow("SELECT SUM(gc.souls) FROM guild_characters gc INNER JOIN festa_registrations fr ON fr.guild_id = gc.guild_id WHERE fr.team = 'blue'").Scan(&blueSouls) s.server.db.QueryRow(`SELECT COALESCE(SUM(fs.souls), 0) AS souls FROM festa_registrations fr LEFT JOIN festa_submissions fs ON fr.guild_id = fs.guild_id AND fr.team = 'blue'`).Scan(&blueSouls)
s.server.db.QueryRow("SELECT SUM(gc.souls) FROM guild_characters gc INNER JOIN festa_registrations fr ON fr.guild_id = gc.guild_id WHERE fr.team = 'red'").Scan(&redSouls) s.server.db.QueryRow(`SELECT COALESCE(SUM(fs.souls), 0) AS souls FROM festa_registrations fr LEFT JOIN festa_submissions fs ON fr.guild_id = fs.guild_id AND fr.team = 'red'`).Scan(&redSouls)
bf.WriteUint32(id) bf.WriteUint32(id)
for _, timestamp := range timestamps { for _, timestamp := range timestamps {
@@ -210,11 +210,11 @@ func handleMsgMhfInfoFesta(s *Session, p mhfpacket.MHFPacket) {
COALESCE(CASE COALESCE(CASE
WHEN COUNT(gc.id) FILTER (WHERE fr.team = 'blue' AND gc.trial_vote = ft.id) > WHEN COUNT(gc.id) FILTER (WHERE fr.team = 'blue' AND gc.trial_vote = ft.id) >
COUNT(gc.id) FILTER (WHERE fr.team = 'red' AND gc.trial_vote = ft.id) COUNT(gc.id) FILTER (WHERE fr.team = 'red' AND gc.trial_vote = ft.id)
THEN CAST('blue' AS public.festival_colour) THEN CAST('blue' AS public.festival_color)
WHEN COUNT(gc.id) FILTER (WHERE fr.team = 'red' AND gc.trial_vote = ft.id) > WHEN COUNT(gc.id) FILTER (WHERE fr.team = 'red' AND gc.trial_vote = ft.id) >
COUNT(gc.id) FILTER (WHERE fr.team = 'blue' AND gc.trial_vote = ft.id) COUNT(gc.id) FILTER (WHERE fr.team = 'blue' AND gc.trial_vote = ft.id)
THEN CAST('red' AS public.festival_colour) THEN CAST('red' AS public.festival_color)
END, CAST('none' AS public.festival_colour)) AS monopoly END, CAST('none' AS public.festival_color)) AS monopoly
FROM public.festa_trials ft FROM public.festa_trials ft
LEFT JOIN public.guild_characters gc ON ft.id = gc.trial_vote LEFT JOIN public.guild_characters gc ON ft.id = gc.trial_vote
LEFT JOIN public.festa_registrations fr ON gc.guild_id = fr.guild_id LEFT JOIN public.festa_registrations fr ON gc.guild_id = fr.guild_id
@@ -366,7 +366,7 @@ func handleMsgMhfStateFestaU(s *Session, p mhfpacket.MHFPacket) {
return return
} }
var souls, exists uint32 var souls, exists uint32
s.server.db.QueryRow("SELECT souls FROM guild_characters WHERE character_id=$1", s.charID).Scan(&souls) s.server.db.QueryRow(`SELECT COALESCE((SELECT SUM(souls) FROM festa_submissions WHERE character_id=$1), 0)`, s.charID).Scan(&souls)
err = s.server.db.QueryRow("SELECT prize_id FROM festa_prizes_accepted WHERE prize_id=0 AND character_id=$1", s.charID).Scan(&exists) err = s.server.db.QueryRow("SELECT prize_id FROM festa_prizes_accepted WHERE prize_id=0 AND character_id=$1", s.charID).Scan(&exists)
bf := byteframe.NewByteFrame() bf := byteframe.NewByteFrame()
bf.WriteUint32(souls) bf.WriteUint32(souls)

View File

@@ -60,7 +60,7 @@ type Guild struct {
PugiOutfit3 uint8 `db:"pugi_outfit_3"` PugiOutfit3 uint8 `db:"pugi_outfit_3"`
PugiOutfits uint32 `db:"pugi_outfits"` PugiOutfits uint32 `db:"pugi_outfits"`
Recruiting bool `db:"recruiting"` Recruiting bool `db:"recruiting"`
FestivalColor FestivalColor `db:"festival_colour"` FestivalColor FestivalColor `db:"festival_color"`
Souls uint32 `db:"souls"` Souls uint32 `db:"souls"`
AllianceID uint32 `db:"alliance_id"` AllianceID uint32 `db:"alliance_id"`
Icon *GuildIcon `db:"icon"` Icon *GuildIcon `db:"icon"`
@@ -157,7 +157,7 @@ SELECT
sub_motto, sub_motto,
created_at, created_at,
leader_id, leader_id,
lc.name as leader_name, c.name AS leader_name,
comment, comment,
COALESCE(pugi_name_1, '') AS pugi_name_1, COALESCE(pugi_name_1, '') AS pugi_name_1,
COALESCE(pugi_name_2, '') AS pugi_name_2, COALESCE(pugi_name_2, '') AS pugi_name_2,
@@ -167,8 +167,8 @@ SELECT
pugi_outfit_3, pugi_outfit_3,
pugi_outfits, pugi_outfits,
recruiting, recruiting,
COALESCE((SELECT team FROM festa_registrations fr WHERE fr.guild_id = g.id), 'none') AS festival_colour, COALESCE((SELECT team FROM festa_registrations fr WHERE fr.guild_id = g.id), 'none') AS festival_color,
(SELECT SUM(souls) FROM guild_characters gc WHERE gc.guild_id = g.id) AS souls, COALESCE((SELECT SUM(fs.souls) FROM festa_submissions fs WHERE fs.guild_id=g.id), 0) AS souls,
COALESCE(( COALESCE((
SELECT id FROM guild_alliances ga WHERE SELECT id FROM guild_alliances ga WHERE
ga.parent_id = g.id OR ga.parent_id = g.id OR
@@ -178,8 +178,8 @@ SELECT
icon, icon,
(SELECT count(1) FROM guild_characters gc WHERE gc.guild_id = g.id) AS member_count (SELECT count(1) FROM guild_characters gc WHERE gc.guild_id = g.id) AS member_count
FROM guilds g FROM guilds g
JOIN guild_characters lgc ON lgc.character_id = leader_id JOIN guild_characters gc ON gc.character_id = leader_id
JOIN characters lc on leader_id = lc.id JOIN characters c on leader_id = c.id
` `
func (guild *Guild) Save(s *Session) error { func (guild *Guild) Save(s *Session) error {