Add last 20 wallet transaction summary
This commit is contained in:
parent
aaa75f6bfd
commit
f43d69cd15
1 changed files with 66 additions and 1 deletions
67
main.go
67
main.go
|
@ -128,6 +128,7 @@ func main() {
|
|||
skillsInfoChan := make(chan string)
|
||||
marketInfoChan := make(chan string)
|
||||
industryInfoChan := make(chan string)
|
||||
transactionsInfoChan := make(chan string)
|
||||
|
||||
go func() {
|
||||
charInfoChan <- printCharacterInformation(swaggerclient, m)
|
||||
|
@ -159,6 +160,11 @@ func main() {
|
|||
close(skillsInfoChan)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
transactionsInfoChan <- printCharacterTransactions(swaggerclient, m)
|
||||
close(transactionsInfoChan)
|
||||
}()
|
||||
|
||||
for msg := range charInfoChan {
|
||||
fmt.Print(msg)
|
||||
}
|
||||
|
@ -187,6 +193,11 @@ func main() {
|
|||
for msg := range industryInfoChan {
|
||||
fmt.Print(msg)
|
||||
}
|
||||
|
||||
fmt.Printf("\n\nTransactions\n")
|
||||
for msg := range transactionsInfoChan {
|
||||
fmt.Print(msg)
|
||||
}
|
||||
}
|
||||
|
||||
func readConfigurationFile() (*InternalUtils.HTTPConfiguration, error) {
|
||||
|
@ -317,6 +328,60 @@ func printCharacterSkillQueue(swaggerclient *ESI.App, m *Character) string {
|
|||
return content
|
||||
}
|
||||
|
||||
func printCharacterTransactions(swaggerclient *ESI.App, m *Character) string {
|
||||
callParam := ESIWallet.NewGetCharactersCharacterIDWalletTransactionsParams()
|
||||
callParam.WithCharacterID(m.CharacterID)
|
||||
|
||||
esiresponse, esierr := swaggerclient.Wallet.GetCharactersCharacterIDWalletTransactions(callParam, nil)
|
||||
if esierr != nil {
|
||||
fmt.Println("Error while getting the wallet information")
|
||||
log.Fatalf("Got error on GetCharactersCharacterIDWalletTransactions: %T %s", esierr, esierr)
|
||||
}
|
||||
|
||||
transactions := esiresponse.Payload
|
||||
|
||||
ac := accounting.Accounting{Symbol: "", Precision: 2, Thousand: "'"}
|
||||
|
||||
var content string
|
||||
|
||||
itemIds := make([]int32, 0)
|
||||
|
||||
for _, transaction := range transactions {
|
||||
itemIds = append(itemIds, *transaction.TypeID)
|
||||
itemIds = append(itemIds, *transaction.ClientID)
|
||||
}
|
||||
|
||||
universeNames := getUniverseNames(swaggerclient, &itemIds)
|
||||
|
||||
for _, transaction := range transactions[:20] {
|
||||
|
||||
locationName, locationErr := getStructureStationInfo(swaggerclient, *transaction.LocationID)
|
||||
if locationErr != nil {
|
||||
fmt.Println("Error while getting the location information")
|
||||
log.Fatalf("Got error on getStructureStationInfo: %T %s", locationErr, locationErr)
|
||||
}
|
||||
|
||||
status := fmt.Sprint(aurora.Red("✘").Bold())
|
||||
if *transaction.IsBuy {
|
||||
status = fmt.Sprint(aurora.Green("✔").Bold())
|
||||
}
|
||||
|
||||
content = content + fmt.Sprintf(" %s %s ISK% 15s,% 7d %s, %s, %s",
|
||||
status,
|
||||
time.Time(*transaction.Date).Format(defaultDateFormat),
|
||||
ac.FormatMoney(*transaction.UnitPrice*float32(*transaction.Quantity)),
|
||||
*transaction.Quantity,
|
||||
universeNames[*transaction.TypeID],
|
||||
locationName.Name,
|
||||
universeNames[*transaction.ClientID],
|
||||
)
|
||||
|
||||
content = content + "\n"
|
||||
}
|
||||
|
||||
return content
|
||||
}
|
||||
|
||||
func formatDuration(duration time.Duration, daysLength int32) string {
|
||||
days := int32(duration.Hours()) / 24
|
||||
hours := int32(duration.Minutes()) / 60 % 24
|
||||
|
@ -332,7 +397,7 @@ func printCharacterInformation(swaggerclient *ESI.App, m *Character) string {
|
|||
esiresponse, esierr := swaggerclient.Wallet.GetCharactersCharacterIDWallet(callParam, nil)
|
||||
if esierr != nil {
|
||||
fmt.Println("Error while getting the wallet information")
|
||||
log.Fatalf("Got error on GetCharactersCharacterIDWallets: %T %s", esierr, esierr)
|
||||
log.Fatalf("Got error on GetCharactersCharacterIDWallet: %T %s", esierr, esierr)
|
||||
}
|
||||
|
||||
wallet := esiresponse.Payload
|
||||
|
|
Reference in a new issue