作者 陈志颖

feat:现金池新增上期兑换汇率

... ... @@ -175,6 +175,31 @@ func (cashPoolService *CashPoolService) GetCashPool(getCashPoolQuery *query.GetC
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "无效的公司id")
}
// 获取上次兑换活动兑换汇率
var exchangeActivityRepository domain.ExchangeActivityRepository
if value, err := factory.CreateExchangeCashActivityRepository(map[string]interface{}{
"transactionContext": transactionContext,
}); err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
} else {
exchangeActivityRepository = value
}
listExchangeCashActivityQuery := map[string]interface{}{
"companyId": getCashPoolQuery.CompanyId,
}
var lastActivityRate float64
if count, activities, err := exchangeActivityRepository.Find(listExchangeCashActivityQuery); err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
} else {
if count > 1 {
lastActivityRate = activities[1].Rate
} else { // 未查询到相关兑换活动
lastActivityRate = 0
}
}
var employeeDao *dao.EmployeeDao
if value, err := factory.CreateEmployeeDao(map[string]interface{}{
"transactionContext": transactionContext,
... ... @@ -211,7 +236,7 @@ func (cashPoolService *CashPoolService) GetCashPool(getCashPoolQuery *query.GetC
if err := transactionContext.CommitTransaction(); err != nil {
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
}
// 现金池为空时处理
if count == 0 {
return map[string] interface{} {
"cashPoolId": 0,
... ... @@ -221,10 +246,12 @@ func (cashPoolService *CashPoolService) GetCashPool(getCashPoolQuery *query.GetC
"unExchangeCash": 0,
"exchangedSuMoney": systemExchangedSuMoney,
"unExchangeSuMoney": systemUnExchangeSuMoney,
"rate": 0,
"rate": 0, // 平均兑换汇率
"lastRate": 0, // 上期活动兑换汇率
"createTime": time.Now(),
}, nil
} else {
cashPools[0].LastRate = lastActivityRate
return cashPools[0], nil
}
}
... ... @@ -264,7 +291,6 @@ func (cashPoolService *CashPoolService) CreateExchangeCashActivity(createExchang
CreateTime: time.Now(),
}
// 倒计时结束
if t2.Before(t1) {
newActivity.CountDown = 0
... ...
... ... @@ -12,6 +12,7 @@ type CashPool struct {
ExchangedSuMoney float64 `json:"exchangedSuMoney"` // 已兑换的素币
UnExchangeSuMoney float64 `json:"unExchangeSuMoney"` // 未兑换的素币
Rate float64 `json:"rate"` // 平均兑换汇率
LastRate float64 `json:"lastRate"` // 上期活动兑换汇率
CreateTime time.Time `json:"createTime"` // 现金投入现金池时间
}
... ...
... ... @@ -11,6 +11,7 @@ type CashPool struct {
UnExchangeCash float64 // 系统未兑换现金
ExchangedSuMoney float64 // 系统已兑换素币
UnExchangeSuMoney float64 // 系统未兑换素币
Rate float64 // 兑换汇率
Rate float64 // 平均兑换汇率
LastRate float64 // 上期活动兑换汇率
CreateTime time.Time
}
... ...