瀏覽代碼

мелкие правки + дезигн

kpmy 5 年之前
父節點
當前提交
910564354c

+ 20 - 10
src/app/src/app/person/person.page.component.html

@@ -1,7 +1,9 @@
 <div fxFlex="100" fxLayout="row" fxLayoutAlign="stretch start" fxLayoutGap="0.5em">
   <div fxFlex="25" fxLayout="column" fxLayoutGap="0.5em">
     <mat-toolbar>
-      <mat-toolbar-row>Аккаунт</mat-toolbar-row>
+      <mat-toolbar-row>
+        <mat-icon>account_circle</mat-icon>&nbsp;Аккаунт
+      </mat-toolbar-row>
     </mat-toolbar>
     <mat-card>
       <mat-card-header>
@@ -21,18 +23,20 @@
       </mat-card-actions>
     </mat-card>
     <mat-toolbar>
-      <mat-toolbar-row>Счета</mat-toolbar-row>
+      <mat-toolbar-row>
+        <mat-icon>credit_card</mat-icon>&nbsp;Счета
+      </mat-toolbar-row>
     </mat-toolbar>
     <mat-list *ngxInit="{} as hovered">
       <mat-list-item>
         <mat-icon mat-list-icon>toll</mat-icon>
-        <span mat-line>Всего монет: {{getTotatOverall()}}</span>
+        <div fxLayout="row" fxLayoutAlign="space-between center" mat-line><span>Всего монет</span><span>{{getTotatOverall()}}<span>₣</span></span></div>
       </mat-list-item>
       <mat-divider></mat-divider>
       <mat-list-item (mouseenter)="hovered[idx] = true" (mouseleave)="hovered[idx] = false" *ngFor="let account of accounts; let idx=index">
         <mat-icon mat-list-icon>toll</mat-icon>
         <div fxLayout="row" fxLayoutAlign="space-between center" mat-line>
-          <span>Баланс: {{account.overall}}</span>
+          <span>Cчёт: {{account.overall}}<span>₣</span></span>
           <div fxLayout="row" fxLayoutAlign="start center">
             <button (click)="showDebitDialog(account)" [disabled]="!hovered[idx]" class="mat-elevation-z0" color="warn" mat-button matTooltip="ПОПОЛНИТЬ">
               <mat-icon>archive</mat-icon>
@@ -47,16 +51,20 @@
   </div>
   <div fxFlex="50" fxLayout="column" fxLayoutGap="0.5em">
     <mat-toolbar>
-      <mat-toolbar-row>Операции</mat-toolbar-row>
+      <mat-toolbar-row>
+        <mat-icon>account_balance_wallet</mat-icon>&nbsp;Операции
+      </mat-toolbar-row>
     </mat-toolbar>
     <mat-list>
-      <mat-list-item *ngFor="let ev of events">
+      <mat-list-item *ngFor="let ev of events; let idx = index" [ngStyle]="{'background-color': idx % 2 === 1 ? 'rgba(240, 240, 240, 0.5)' : 'rgba(0, 0, 0, 0)'}">
         <mat-icon *ngIf="ev.info.direction == 'to'" mat-list-icon>archive</mat-icon>
         <mat-icon *ngIf="ev.info.direction == 'from'" mat-list-icon>unarchive</mat-icon>
-        <div mat-line>Количество: {{ev.info.amount}}</div>
+        <div fxLayout="row" fxLayoutAlign="space-between center" mat-line>
+          <span><span *ngIf="ev.info.direction == 'to'">Пополнение</span><span *ngIf="ev.info.direction == 'from'">Списание</span></span>
+          <span [ngStyle]="{'color': (ev.info.direction == 'from') ? 'red' : ev.info.direction == 'to' ? 'green' : 'black'}"><span *ngIf="ev.info.direction == 'to'">+</span><span *ngIf="ev.info.direction == 'from'">-</span><span>{{ev.info.amount}}</span><span>₣</span></span>
+        </div>
         <div mat-line>
-          <span *ngIf="ev.info.direction == 'to'">пополнение</span>
-          <span *ngIf="ev.info.direction == 'from'">списание</span>
+          <span>операция</span>
           <span> от {{ev.date | date : 'medium'}}</span>
         </div>
       </mat-list-item>
@@ -64,7 +72,9 @@
   </div>
   <div fxFlex="25" fxLayout="column" fxLayoutGap="0.5em">
     <mat-toolbar>
-      <mat-toolbar-row>Разное</mat-toolbar-row>
+      <mat-toolbar-row>
+        <mat-icon>cast</mat-icon>&nbsp;Разное
+      </mat-toolbar-row>
     </mat-toolbar>
     <mat-list>
       <mat-list-item *ngIf="demurrage">

+ 9 - 8
src/main/kotlin/inn/ocsf/bee/freigeld/core/data/CentralBankAccountLevel.kt

@@ -1,10 +1,8 @@
 package inn.ocsf.bee.freigeld.core.data
 
 import com.querydsl.core.types.dsl.Expressions
-import inn.ocsf.bee.freigeld.core.model.BankAccount
-import inn.ocsf.bee.freigeld.core.model.CentralBank
-import inn.ocsf.bee.freigeld.core.model.Coin
-import inn.ocsf.bee.freigeld.core.model.GlobalWorld
+import inn.ocsf.bee.freigeld.core.calc.CoinUtils
+import inn.ocsf.bee.freigeld.core.model.*
 import inn.ocsf.bee.freigeld.core.model.data.BankAccountData
 import inn.ocsf.bee.freigeld.core.model.data.CoinAccountLink
 import inn.ocsf.bee.freigeld.core.model.data.PersonData
@@ -39,6 +37,9 @@ abstract class CentralBankAccountLevel : CentralBank {
     @Inject
     private lateinit var stateRepo: StateRepository
 
+    @Inject
+    private lateinit var emitter: GlobalEmitter
+
     protected val bankId = UUID.fromString("a8486777-834c-4267-9f10-69f03714c523")
 
     private val log = LoggerFactory.getLogger(javaClass)
@@ -89,12 +90,12 @@ abstract class CentralBankAccountLevel : CentralBank {
     @PostConstruct
     @Transactional
     open fun init() {
-        //accountRepo.deleteAll()
-        //linkRepo.deleteAll()
-        val thisBank = world.getPerson(bankId) ?: world.addPerson(PersonData.BankPrivate(bankId))
+        world.getPerson(bankId) ?: world.addPerson(PersonData.BankPrivate(bankId))
         val thisAccounts = getAccounts(bankId)
         if (thisAccounts.isEmpty()) {
-            addAccount(bankId)
+            val selfAcc = addAccount(bankId)
+            emitter.emit(CoinUtils.makeSomeFuture(10_000_000))
+            exchange(selfAcc, emitter, 5_000_000)
         }
         getCurrentState { }
     }

+ 1 - 1
src/main/kotlin/inn/ocsf/bee/freigeld/core/data/CentralBankQueueLevel.kt

@@ -137,7 +137,7 @@ class CentralBankQueueLevel : CentralBankAccountLevel() {
                         }
                     }
 
-                    val creditOk = (fromAmount - eAmount == eFrom.overall)
+                    val creditOk = (fromAmount - eAmount == eFrom.overall) || e.from == emitter.id
                     val debitOk = (toAmount + eAmount == eTo.overall)
                     val fromCoins = eFrom.coins
                     val toCoins = eTo.coins

+ 0 - 0
src/main/resources/application-production.yaml