Skip to content

Commit

Permalink
Merge branch 'UnownHash:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
ReuschelCGN authored Nov 21, 2024
2 parents f3c7009 + 566552f commit d3ad94b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
14 changes: 11 additions & 3 deletions decoder/station.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ type Station struct {
BattlePokemonMove2 null.Int `db:"battle_pokemon_move_2"`

TotalStationedPokemon null.Int `db:"total_stationed_pokemon"`
TotalStationedGmax null.Int `db:"total_stationed_gmax"`
StationedPokemon null.String `db:"stationed_pokemon"`
}

Expand All @@ -54,7 +55,7 @@ func getStationRecord(ctx context.Context, db db.DbDetails, stationId string) (*
station := Station{}
err := db.GeneralDb.GetContext(ctx, &station,
`
SELECT id, lat, lon, name, cell_id, start_time, end_time, cooldown_complete, is_battle_available, is_inactive, updated, battle_level, battle_start, battle_end, battle_pokemon_id, battle_pokemon_form, battle_pokemon_costume, battle_pokemon_gender, battle_pokemon_alignment, battle_pokemon_bread_mode, battle_pokemon_move_1, battle_pokemon_move_2, total_stationed_pokemon, stationed_pokemon
SELECT id, lat, lon, name, cell_id, start_time, end_time, cooldown_complete, is_battle_available, is_inactive, updated, battle_level, battle_start, battle_end, battle_pokemon_id, battle_pokemon_form, battle_pokemon_costume, battle_pokemon_gender, battle_pokemon_alignment, battle_pokemon_bread_mode, battle_pokemon_move_1, battle_pokemon_move_2, total_stationed_pokemon, total_stationed_gmax, stationed_pokemon
FROM station WHERE id = ?
`, stationId)
statsCollector.IncDbQuery("select station", err)
Expand Down Expand Up @@ -85,8 +86,8 @@ func saveStationRecord(ctx context.Context, db db.DbDetails, station *Station) {
if oldStation == nil {
res, err := db.GeneralDb.NamedExecContext(ctx,
`
INSERT INTO station (id, lat, lon, name, cell_id, start_time, end_time, cooldown_complete, is_battle_available, is_inactive, updated, battle_level, battle_start, battle_end, battle_pokemon_id, battle_pokemon_form, battle_pokemon_costume, battle_pokemon_gender, battle_pokemon_alignment, battle_pokemon_bread_mode, battle_pokemon_move_1, battle_pokemon_move_2, total_stationed_pokemon, stationed_pokemon)
VALUES (:id,:lat,:lon,:name,:cell_id,:start_time,:end_time,:cooldown_complete,:is_battle_available,:is_inactive,:updated,:battle_level,:battle_start,:battle_end,:battle_pokemon_id,:battle_pokemon_form,:battle_pokemon_costume,:battle_pokemon_gender,:battle_pokemon_alignment,:battle_pokemon_bread_mode,:battle_pokemon_move_1,:battle_pokemon_move_2,:total_stationed_pokemon,:stationed_pokemon)
INSERT INTO station (id, lat, lon, name, cell_id, start_time, end_time, cooldown_complete, is_battle_available, is_inactive, updated, battle_level, battle_start, battle_end, battle_pokemon_id, battle_pokemon_form, battle_pokemon_costume, battle_pokemon_gender, battle_pokemon_alignment, battle_pokemon_bread_mode, battle_pokemon_move_1, battle_pokemon_move_2, total_stationed_pokemon, total_stationed_gmax, stationed_pokemon)
VALUES (:id,:lat,:lon,:name,:cell_id,:start_time,:end_time,:cooldown_complete,:is_battle_available,:is_inactive,:updated,:battle_level,:battle_start,:battle_end,:battle_pokemon_id,:battle_pokemon_form,:battle_pokemon_costume,:battle_pokemon_gender,:battle_pokemon_alignment,:battle_pokemon_bread_mode,:battle_pokemon_move_1,:battle_pokemon_move_2,:total_stationed_pokemon,:total_stationed_gmax,:stationed_pokemon)
`, station)

statsCollector.IncDbQuery("insert station", err)
Expand Down Expand Up @@ -121,6 +122,7 @@ func saveStationRecord(ctx context.Context, db db.DbDetails, station *Station) {
battle_pokemon_move_1 = :battle_pokemon_move_1,
battle_pokemon_move_2 = :battle_pokemon_move_2,
total_stationed_pokemon = :total_stationed_pokemon,
total_stationed_gmax = :total_stationed_gmax,
stationed_pokemon = :stationed_pokemon
WHERE id = :id
`, station,
Expand Down Expand Up @@ -212,6 +214,7 @@ func (station *Station) updateFromGetStationedPokemonDetailsOutProto(stationProt
}

var stationedPokemon []stationedPokemonDetail
stationedGmax := int64(0)
for _, stationedPokemonDetails := range stationProto.StationedPokemons {
pokemon := stationedPokemonDetails.Pokemon
stationedPokemon = append(stationedPokemon, stationedPokemonDetail{
Expand All @@ -221,17 +224,22 @@ func (station *Station) updateFromGetStationedPokemonDetailsOutProto(stationProt
Gender: int(pokemon.PokemonDisplay.Gender),
BreadMode: int(pokemon.PokemonDisplay.BreadModeEnum),
})
if pokemon.PokemonDisplay.BreadModeEnum == pogo.BreadModeEnum_BREAD_DOUGH_MODE || pokemon.PokemonDisplay.BreadModeEnum == pogo.BreadModeEnum_BREAD_DOUGH_MODE_2 {
stationedGmax++
}
}
jsonString, _ := json.Marshal(stationedPokemon)
station.StationedPokemon = null.StringFrom(string(jsonString))
station.TotalStationedPokemon = null.IntFrom(int64(stationProto.TotalNumStationedPokemon))
station.TotalStationedGmax = null.IntFrom(stationedGmax)
return station
}

func (station *Station) resetStationedPokemonFromStationDetailsNotFound() *Station {
jsonString, _ := json.Marshal([]string{})
station.StationedPokemon = null.StringFrom(string(jsonString))
station.TotalStationedPokemon = null.IntFrom(0)
station.TotalStationedGmax = null.IntFrom(0)
return station
}

Expand Down
2 changes: 2 additions & 0 deletions sql/33_stations_gmax_count.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE `station`
ADD COLUMN `total_stationed_gmax` SMALLINT unsigned AFTER `total_stationed_pokemon`;

0 comments on commit d3ad94b

Please sign in to comment.