作者 陈志颖

fix:规范事务记录描述

... ... @@ -13,6 +13,8 @@ type ListEmployeeQuery struct {
EmployeeNameMatch string `json:"employeeNameMatch,omitempty"`
// 查询偏离量
Offset int `json:"offset,omitempty"`
// 员工状态(启用或者禁用)
Status int `json:"status"`
// 查询限制
Limit int `json:"limit,omitempty"`
}
... ...
... ... @@ -9,6 +9,7 @@ import (
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/domain"
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/domain/service"
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/dao"
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/utils"
)
// 素币服务
... ... @@ -145,6 +146,37 @@ func (suMoneyService *SuMoneyService) SearchSuMoneyTransactionRecord(searchSuMon
if err := transactionContext.CommitTransaction(); err != nil {
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
}
for _, suMoneyTransactionRecord := range suMoneyTransactionRecords {
contributions := []int{2,3,4}
suMoney := []int{1,2,3,4,5}
// 查询贡献值时规范描述
if utils.StringSliceEqualBCE(searchSuMoneyTransactionRecordCommand.RecordTypes, contributions) {
switch suMoneyTransactionRecord.RecordType {
case 2: // 任务奖励
suMoneyTransactionRecord.RecordDescription = suMoneyTransactionRecord.RecordDescription + "奖励"
case 3: // 增加
suMoneyTransactionRecord.RecordDescription = "增加贡献"
case 4: // 扣除
suMoneyTransactionRecord.RecordDescription = "扣除贡献"
}
}
// 查询素币值时规范描述
if utils.StringSliceEqualBCE(searchSuMoneyTransactionRecordCommand.RecordTypes, suMoney) {
switch suMoneyTransactionRecord.RecordType {
case 1: // 兑换物资
suMoneyTransactionRecord.RecordDescription = "兑换物资"
case 2: // 任务奖励
suMoneyTransactionRecord.RecordDescription = suMoneyTransactionRecord.RecordDescription + "奖励"
case 3: // 增加
suMoneyTransactionRecord.RecordDescription = "增加素币"
case 4: // 扣除
suMoneyTransactionRecord.RecordDescription = "扣除素币"
case 5: // 兑换现金
suMoneyTransactionRecord.RecordDescription = "素币兑换现金"
}
}
}
return map[string]interface{}{
"count": count,
"suMoneyTransactionRecords": suMoneyTransactionRecords,
... ...
... ... @@ -39,7 +39,7 @@ func (dao *TaskDao) UpdateExpiredPlannedCompletionTimeBidTask() error {
tx := dao.transactionContext.PgTx
_, err := tx.Query(
pg.Scan(),
"UPDATE tasks SET task_status = ? FROM bid_infos WHERE bid_infos.bid_end_time < ? AND tasks.task_type = ? AND tasks.task_status = ?",
"UPDATE tasks SET task_status = ? FROM bid_infos WHERE tasks.id = bid_infos.task_id AND bid_infos.bid_end_time < ? AND tasks.task_type = ? AND tasks.task_status = ?",
domain.TASK_STATUS_EXPIRED, currentDay, domain.TASK_TYPE_BID, domain.TASK_STATUS_UNCLAIMED)
return err
}
... ...
... ... @@ -73,6 +73,10 @@ func (service *OperationSuMoneyService) Operation(uid int64, operatorUid int64,
recordType = domain.SU_MONEY_TRANSACTION_RECORD_TYPE_EXCHANGE_CASH
transferSuMoney = 0 - suMoney
}
if operationType == 5 { // 任务奖励
recordType = domain.SU_MONEY_TRANSACTION_RECORD_TYPE_AWARD
transferSuMoney = suMoney
}
suMoneyTransactionRecord := &domain.SuMoneyTransactionRecord{
RecordType: recordType,
Employee: employee.EmployeeInfo,
... ...
package utils
func StringSliceEqualBCE(a, b []int) bool {
if len(a) != len(b) {
return false
}
if (a == nil) != (b == nil) {
return false
}
b = b[:len(a)]
for i, v := range a {
if v != b[i] {
return false
}
}
return true
}
... ...