bf_bank_build.go 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // package bf_bank_build -- бизнес-функция строительства банка
  2. package bf_bank_build
  3. import (
  4. "strings"
  5. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  6. "wartank/app/lev0/cons"
  7. . "wartank/app/lev0/types"
  8. )
  9. // БанкПостроить -- постройка банка
  10. func БанкПостроить(конт ILocalCtx) {
  11. банк := конт.Get("арена_банк").Val().(ИАренаБанк)
  12. if банк.АренаСостояние().Получ() == cons.РежимНеСуществует {
  13. банкПостроить(конт)
  14. }
  15. }
  16. func банкПостроить(конт ILocalCtx) {
  17. база := конт.Get("база").Val().(ИАренаБаза)
  18. банк := конт.Get("арена_банк").Val().(ИАренаБанк)
  19. списСтр := база.Сеть().ВебВоркер().Получ("https://wartank.ru/buildings")
  20. ссыльПостроить := "" // ссылка на постройку
  21. { // Поиск ссылки на покупку
  22. // <td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="building-upgrade/Bank"><span><span>Построить</span></span></a></td>
  23. for _, стр := range списСтр {
  24. if strings.Contains(стр, `href="building-upgrade/Bank">`) {
  25. ссыльПостроить = стр
  26. break
  27. }
  28. }
  29. if ссыльПостроить == "" {
  30. банк.АренаСостояние().Уст(cons.РежимАпгрейдПлатный)
  31. return
  32. }
  33. // <td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="building-upgrade/Bank"><span><span>Построить</span></span></a></td>
  34. ссыльПостроить = strings.TrimPrefix(ссыльПостроить, `<td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="`)
  35. ссыльПостроить = strings.TrimSuffix(ссыльПостроить, `"><span><span>Построить</span></span></a></td>`)
  36. // https://wartank.ru/building-upgrade/Bank
  37. ссыльПостроить = "http://wartank.ru/" + ссыльПостроить
  38. списСтр = база.Сеть().ВебВоркер().Получ(ссыльПостроить)
  39. }
  40. ссыльПодтвердить := "" // ссылка на улучшение здания
  41. { // Выбор покупки
  42. // <a class="simple-but border mb5" href="Bank?29-1.ILinkListener-upgradeLink-link">
  43. for _, стр := range списСтр {
  44. if strings.Contains(стр, `ILinkListener-upgradeLink-link`) {
  45. ссыльПодтвердить = стр
  46. break
  47. }
  48. }
  49. if ссыльПодтвердить == "" {
  50. банк.АренаСостояние().Уст(cons.РежимАпгрейдПлатный)
  51. return
  52. }
  53. ссыльПодтвердить = strings.TrimPrefix(ссыльПодтвердить, `<a class="simple-but border mb5" href="`)
  54. ссыльПодтвердить = strings.TrimSuffix(ссыльПодтвердить, `">`)
  55. // https://wartank.ru/building-upgrade/Bank?28-1.ILinkListener-upgradeLink-link
  56. ссыльПодтвердить = "http://wartank.ru/building-upgrade/" + ссыльПодтвердить
  57. списСтр = база.Сеть().ВебВоркер().Получ(ссыльПодтвердить)
  58. }
  59. ссыльДа := "" // подтверждение покупки
  60. { // Подтверждение покупки
  61. // <a class="simple-but border w50 mXa mb10" w:id="confirmLink" href="../wicket/page?31-1.ILinkListener-confirmLink"><span><span>да, подтверждаю</span></span></a>
  62. for _, стр := range списСтр {
  63. if strings.Contains(стр, `confirmLink`) {
  64. ссыльДа = стр
  65. break
  66. }
  67. }
  68. if ссыльДа == "" {
  69. банк.АренаСостояние().Уст(cons.РежимАпгрейдПлатный)
  70. return
  71. }
  72. ссыльДа = strings.TrimPrefix(ссыльДа, `<a class="simple-but border w50 mXa mb10" w:id="confirmLink" href="../`)
  73. ссыльДа = strings.TrimSuffix(ссыльДа, `"><span><span>да, подтверждаю</span></span></a>`)
  74. // https://wartank.ru/wicket/page?52-1.ILinkListener-confirmLink
  75. ссыльДа = "http://wartank.ru/" + ссыльДа
  76. _ = база.Сеть().ВебВоркер().Получ(ссыльДа)
  77. банк.АренаСостояние().Уст(cons.РежимАпгрейдПлатный)
  78. }
  79. }