...
|
...
|
@@ -4,7 +4,6 @@ import ( |
|
|
"fmt"
|
|
|
"github.com/go-pg/pg"
|
|
|
pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
|
|
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/domain"
|
|
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg/models"
|
|
|
"time"
|
|
|
)
|
...
|
...
|
@@ -22,10 +21,11 @@ func (dao *EmployeeDao) TransferSuMoney(uid int64, suMoney float64) error { |
|
|
return err
|
|
|
}
|
|
|
|
|
|
func (dao *EmployeeDao) CalculatePersonSuMoney(uid int64) (*domain.PersonSuMoneyStatistics, error) {
|
|
|
func (dao *EmployeeDao) CalculatePersonSuMoney(uid int64) (map[string]interface{}, error) {
|
|
|
var incomeSuMoney float64
|
|
|
var incomeSuMoneyOfYesterday float64
|
|
|
tx := dao.transactionContext.PgTx
|
|
|
suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord)
|
|
|
personSuMoneyStatistics := &domain.PersonSuMoneyStatistics{}
|
|
|
yesterday := time.Now().AddDate(0, 0, -1)
|
|
|
if err := tx.Model(suMoneyTransactionRecordModel).
|
|
|
ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money").
|
...
|
...
|
@@ -33,18 +33,27 @@ func (dao *EmployeeDao) CalculatePersonSuMoney(uid int64) (*domain.PersonSuMoney |
|
|
Where(`su_money_transaction_record.record_type = ?`, 2).
|
|
|
Where(`su_money_transaction_record.create_time > ?`, time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 0, 0, 0, 0, yesterday.Location())).
|
|
|
Where(`su_money_transaction_record.create_time < ?`, time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 23, 59, 59, 0, yesterday.Location())).
|
|
|
Select(&personSuMoneyStatistics.IncomeSuMoneyOfYesterday); err != nil {
|
|
|
Select(&incomeSuMoneyOfYesterday); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
if err := tx.Model(suMoneyTransactionRecordModel).
|
|
|
ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money").
|
|
|
Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid).
|
|
|
Where(`su_money_transaction_record.record_type = ?`, 2).
|
|
|
Select(&incomeSuMoney); err != nil {
|
|
|
return nil, err
|
|
|
} else {
|
|
|
return personSuMoneyStatistics, nil
|
|
|
}
|
|
|
return map[string]interface{}{
|
|
|
"incomeSuMoney": incomeSuMoney,
|
|
|
"incomeSuMoneyOfYesterday": incomeSuMoneyOfYesterday,
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
func (dao *EmployeeDao) CalculateSuMoneyTransactionRecord(uid int64, transactionStartTime time.Time, transactionEndTime time.Time) (map[string]interface{}, error) {
|
|
|
tx := dao.transactionContext.PgTx
|
|
|
suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord)
|
|
|
var incomeSuMoney float64
|
|
|
var expendSuMoney float64
|
|
|
tx := dao.transactionContext.PgTx
|
|
|
suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord)
|
|
|
if err := tx.Model(suMoneyTransactionRecordModel).
|
|
|
ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money").
|
|
|
Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid).
|
...
|
...
|
|