cash_pool_transaction_record.go 1.3 KB
package domain

import "time"

// 现金池事务记录
type CashPoolTransactionRecord struct {
	CashPoolTransactionRecordId int64 `json:"cashPoolTransactionRecordId"`    		// 现金池事务记录ID
	RecordType int `json:"recordType"`  											// 记录类型
	CashPoolBeforeTransaction *CashPool `json:"cashPoolBeforeTransaction"`   		// 事务处理前现金池
	CurrentCashPool *CashPool `json:"CurrentCashPool"` 								// 当前现金池
	Cash float64 `json:"CashPool"`  												// 事务现金值
	Operator *EmployeeInfo `json:"operator"` 										// 操作人
	RecordDescription string `json:"recordDescription"`  							// 现金池事务记录描述
	CreateTime time.Time `json:"createTime"`   										// 创建时间
}

type CashPoolTransactionRecordRepository interface {
	Save(cashPoolTransactionRecord *CashPoolTransactionRecord) (*CashPoolTransactionRecord, error)
}

func (cashPoolTransactionRecord *CashPoolTransactionRecord) Identity() interface{} {
	if cashPoolTransactionRecord.CashPoolTransactionRecordId == 0 {
		return nil
	}
	return cashPoolTransactionRecord.CashPoolTransactionRecordId
}

// 计算当前现金池中的未兑换现金
func (cashPoolTransactionRecord *CashPoolTransactionRecord) TransferUnExchangeCash(cash float64) error {
	cashPoolTransactionRecord.CurrentCashPool.UnExchangeCash += cash
	return nil
}