brilink - update merchant balance

This commit is contained in:
fro1991
2025-05-05 00:22:21 +07:00
parent 68bd3cf804
commit 91e29e43a2
4 changed files with 172 additions and 1 deletions

View File

@ -0,0 +1,91 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';
import { BrilinkMerchantBalanceHistoryActvity, BrilinkMerchantBalanceHistoryStatus, BrilinkMerchantBalanceHistoryType } from '../types/brilink';
import { BrilinkTerminal } from './brilink_terminals';
import { BrizziCard } from './brizzi_cards';
import { BrilinkMerchantBalance } from './brilink_merchant_balances';
import { BrilinkMerchant } from './brilink_merchants';
@Entity('brilink_merchant_balance_histories', { schema: 'brilinks' })
export class BrilinkMerchantBalanceHistory {
@PrimaryGeneratedColumn('uuid')
id: string;
@ManyToOne(() => BrilinkMerchant, { onDelete: 'RESTRICT' })
@JoinTable()
merchant: BrilinkMerchant
@ManyToOne(() => BrilinkMerchantBalance, { onDelete: 'RESTRICT' })
@JoinTable()
balance: BrilinkMerchantBalance
@Column({
nullable: false,
length: 64
})
activity: BrilinkMerchantBalanceHistoryActvity;
@Column({ nullable: true })
activity_at: Date;
@Column({
nullable: false,
length: 64
})
type: BrilinkMerchantBalanceHistoryType;
@ManyToOne(() => BrilinkTerminal, { onDelete: 'RESTRICT', nullable: true })
@JoinTable()
terminal: BrilinkTerminal
@Column({
length: 128,
nullable: false,
})
reference: string;
@Column({
type: 'float8',
nullable: false,
})
prev_balance: number;
@Column({
type: 'float8',
nullable: false,
})
amount: number;
@Column({
type: 'float8',
nullable: false,
})
last_balance: number;
@Column({
nullable: false,
length: 64
})
status: BrilinkMerchantBalanceHistoryStatus
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -0,0 +1,50 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';
import { BrilinkMerchant } from './brilink_merchants';
@Entity('brilink_merchant_balances', { schema: 'brilinks' })
export class BrilinkMerchantBalance {
@PrimaryGeneratedColumn('uuid')
id: string;
@ManyToOne(() => BrilinkMerchant, { onDelete: 'RESTRICT' })
@JoinTable()
merchant: BrilinkMerchant
@Column({
nullable: false,
length: 256
})
code: string;
@Column({
type: 'float8',
nullable: false,
default: 0
})
balance: number;
@Column({ nullable: true })
@UpdateDateColumn()
balance_at: Date;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -100,7 +100,16 @@ import { BrizziBatch } from './entity/brizzi_batchs'
import { BrizziCard } from './entity/brizzi_cards'
import { BrizziHistory } from './entity/brizzi_history'
import { BrilinkMerchantStatus, BrilinkTerminalType, BrilinkTerminalCondition, BrilinkTerminalOnline } from './types/brilink'
import {
BrilinkMerchantStatus,
BrilinkTerminalType,
BrilinkTerminalCondition,
BrilinkTerminalOnline,
BrilinkMerchantBalanceHistoryActvity,
BrilinkMerchantBalanceHistoryStatus,
BrilinkMerchantBalanceHistoryType
} from './types/brilink'
import { BrilinkMerchant } from './entity/brilink_merchants'
import { BrilinkTerminal } from './entity/brilink_terminals'
import { BrilinkTerminalMenu } from './entity/brilink_terminal_menus'
@ -110,6 +119,8 @@ import { BrilinkMerchantTerminalHistory } from './entity/brilink_merchant_termin
import { BrilinkMerchantTerminalMenu } from './entity/brilink_merchant_terminal_menus'
import { BrilinkMerchantTerminalUser } from './entity/brilink_merchant_terminal_users'
import { BrilinkTerminalUserRefreshToken } from './entity/brilink_merchant_terminal_user_refresh_token'
import { BrilinkMerchantBalance } from './entity/brilink_merchant_balances'
import { BrilinkMerchantBalanceHistory } from './entity/brilink_merchant_balance_histories'
import { BriapiConfig } from './entity/briapi_configs'
import { BriapiLog } from './entity/briapi_logs'
@ -240,6 +251,8 @@ export {
BrilinkMerchantTerminalMenu,
BrilinkMerchantTerminalUser,
BrilinkTerminalUserRefreshToken,
BrilinkMerchantBalance,
BrilinkMerchantBalanceHistory,
RemitBank,
RemitConfigTransaction,

View File

@ -21,3 +21,20 @@ export enum BrilinkTerminalOnline {
"online" = "online",
"offline" = "offline"
}
export enum BrilinkMerchantBalanceHistoryStatus {
"pending" = "pending",
"process" = "process",
"success" = "success",
"fail" = "fail",
}
export enum BrilinkMerchantBalanceHistoryActvity {
"topup" = "topup",
"transfer" = "transfer",
}
export enum BrilinkMerchantBalanceHistoryType {
"credit" = "credit",
"debit" = "debit",
}