Merge branch 'fix-activity' into dev
正在显示
3 个修改的文件
包含
44 行增加
和
68 行删除
| @@ -384,46 +384,6 @@ func (statisticsService *StatisticsService) EmployeesContributionsStatistics(emp | @@ -384,46 +384,6 @@ func (statisticsService *StatisticsService) EmployeesContributionsStatistics(emp | ||
| 384 | } | 384 | } |
| 385 | } | 385 | } |
| 386 | 386 | ||
| 387 | -// 员工排行榜统计 (弃用) | ||
| 388 | -//func (statisticsService *StatisticsService) EmployeesRankingListStatistics(employeesRankingListStatisticsCommand *command.EmployeesRankingListStatisticsCommand) (interface{}, error) { | ||
| 389 | -// if err := employeesRankingListStatisticsCommand.ValidateCommand(); err != nil { | ||
| 390 | -// return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 391 | -// } | ||
| 392 | -// transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 393 | -// if err != nil { | ||
| 394 | -// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 395 | -// } | ||
| 396 | -// if err := transactionContext.StartTransaction(); err != nil { | ||
| 397 | -// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 398 | -// } | ||
| 399 | -// defer func() { | ||
| 400 | -// transactionContext.RollbackTransaction() | ||
| 401 | -// }() | ||
| 402 | -// | ||
| 403 | -// var employeeDao *dao.EmployeeDao | ||
| 404 | -// if value, err := factory.CreateEmployeeDao(map[string]interface{}{ | ||
| 405 | -// "transactionContext": transactionContext, | ||
| 406 | -// }); err != nil { | ||
| 407 | -// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 408 | -// } else { | ||
| 409 | -// employeeDao = value | ||
| 410 | -// } | ||
| 411 | -// | ||
| 412 | -// if employeesRankingListStatisticsCommand.StartTime.IsZero() && employeesRankingListStatisticsCommand.EndTime.IsZero() { | ||
| 413 | -// employeesRankingListStatisticsCommand.StartTime = time.Date(1971, time.Month(1), 1, 0, 0, 0, 0, time.Now().Location()) | ||
| 414 | -// employeesRankingListStatisticsCommand.EndTime = time.Now().Local() | ||
| 415 | -// } | ||
| 416 | -// | ||
| 417 | -// if employeesRankingListStatistics, err := employeeDao.CalculateEmployeesRankingList(employeesRankingListStatisticsCommand.CompanyId, employeesRankingListStatisticsCommand.StartTime, employeesRankingListStatisticsCommand.EndTime, employeesRankingListStatisticsCommand.Offset, employeesRankingListStatisticsCommand.Limit); err != nil { | ||
| 418 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 419 | -// } else { | ||
| 420 | -// if err := transactionContext.CommitTransaction(); err != nil { | ||
| 421 | -// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 422 | -// } | ||
| 423 | -// return employeesRankingListStatistics, nil | ||
| 424 | -// } | ||
| 425 | -//} | ||
| 426 | - | ||
| 427 | // 贡献值、财富值榜单 | 387 | // 贡献值、财富值榜单 |
| 428 | func (statisticsService *StatisticsService) ContributionsWealthRanking(contributionsWealthRankingQuery *query.ContributionsWealthRankingQuery) (interface{}, error) { | 388 | func (statisticsService *StatisticsService) ContributionsWealthRanking(contributionsWealthRankingQuery *query.ContributionsWealthRankingQuery) (interface{}, error) { |
| 429 | if err := contributionsWealthRankingQuery.ValidateQuery(); err != nil { | 389 | if err := contributionsWealthRankingQuery.ValidateQuery(); err != nil { |
| @@ -449,8 +409,10 @@ func (statisticsService *StatisticsService) ContributionsWealthRanking(contribut | @@ -449,8 +409,10 @@ func (statisticsService *StatisticsService) ContributionsWealthRanking(contribut | ||
| 449 | employeeDao = value | 409 | employeeDao = value |
| 450 | } | 410 | } |
| 451 | 411 | ||
| 452 | - // 返回年榜开始时间、结束时间 | ||
| 453 | - if contributionsWealthRankingQuery.RankingType == 2 { | 412 | + if contributionsWealthRankingQuery.RankingType == 1 { // 返回总榜 |
| 413 | + contributionsWealthRankingQuery.StartTime = time.Date(1971, time.Month(1), 1, 0, 0, 0, 0, time.Now().Location()) | ||
| 414 | + contributionsWealthRankingQuery.EndTime = time.Now() | ||
| 415 | + } else if contributionsWealthRankingQuery.RankingType == 2 { // 返回年榜 | ||
| 454 | // 获取公司最新年榜 | 416 | // 获取公司最新年榜 |
| 455 | var listIntervalRepository domain.ListIntervalRepository | 417 | var listIntervalRepository domain.ListIntervalRepository |
| 456 | if value, err := factory.CreateListIntervalRepository(map[string]interface{}{ | 418 | if value, err := factory.CreateListIntervalRepository(map[string]interface{}{ |
| @@ -470,20 +432,34 @@ func (statisticsService *StatisticsService) ContributionsWealthRanking(contribut | @@ -470,20 +432,34 @@ func (statisticsService *StatisticsService) ContributionsWealthRanking(contribut | ||
| 470 | if _, listIntervals, err := listIntervalRepository.Find(listListIntervalQuery); err != nil { | 432 | if _, listIntervals, err := listIntervalRepository.Find(listListIntervalQuery); err != nil { |
| 471 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 433 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 472 | } else { | 434 | } else { |
| 473 | - if len(listIntervals) == 0 { | ||
| 474 | - contributionsWealthRankingQuery.StartTime = time.Date(1971, time.Month(1), 1, 0, 0, 0, 0, time.Now().Location()) | ||
| 475 | - contributionsWealthRankingQuery.EndTime = time.Now() | ||
| 476 | - } else { | 435 | + if len(listIntervals) == 0 { // 未配置年榜 |
| 436 | + contributionsWealthRankingQuery.StartTime = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 437 | + contributionsWealthRankingQuery.EndTime = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 438 | + } else if len(listIntervals) == 1 { // 只配置了一个年榜 | ||
| 439 | + currentTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 440 | + if currentTime.Before(listIntervals[0].IntervalStartTime) && currentTime.After(listIntervals[0].IntervalEndTime) || currentTime.Equal(listIntervals[0].IntervalStartTime) || currentTime.Equal(listIntervals[0].IntervalEndTime) { // 当前时间在榜单内 | ||
| 477 | contributionsWealthRankingQuery.StartTime = listIntervals[0].IntervalStartTime | 441 | contributionsWealthRankingQuery.StartTime = listIntervals[0].IntervalStartTime |
| 478 | contributionsWealthRankingQuery.EndTime = listIntervals[0].IntervalEndTime | 442 | contributionsWealthRankingQuery.EndTime = listIntervals[0].IntervalEndTime |
| 443 | + } else { // 当前时间处于空档期 | ||
| 444 | + contributionsWealthRankingQuery.StartTime = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 445 | + contributionsWealthRankingQuery.EndTime = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 446 | + } | ||
| 447 | + } else { // 配置了多个年榜 | ||
| 448 | + // 判断当前时间是否在榜单里 | ||
| 449 | + currentTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 450 | + for _, listInterval := range listIntervals { | ||
| 451 | + if currentTime.Before(listInterval.IntervalStartTime) && currentTime.After(listInterval.IntervalEndTime) || currentTime.Equal(listInterval.IntervalStartTime) || currentTime.Equal(listInterval.IntervalEndTime) { // 当前时间在榜单内 | ||
| 452 | + contributionsWealthRankingQuery.StartTime = listInterval.IntervalStartTime | ||
| 453 | + contributionsWealthRankingQuery.EndTime = listInterval.IntervalEndTime | ||
| 454 | + break | ||
| 455 | + } else { // 当前时间处于空档期 | ||
| 456 | + contributionsWealthRankingQuery.StartTime = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 457 | + contributionsWealthRankingQuery.EndTime = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC) | ||
| 458 | + break | ||
| 459 | + } | ||
| 479 | } | 460 | } |
| 480 | } | 461 | } |
| 481 | } | 462 | } |
| 482 | - | ||
| 483 | - // 返回总榜 | ||
| 484 | - if contributionsWealthRankingQuery.RankingType == 1 { | ||
| 485 | - contributionsWealthRankingQuery.StartTime = time.Date(1971, time.Month(1), 1, 0, 0, 0, 0, time.Now().Location()) | ||
| 486 | - contributionsWealthRankingQuery.EndTime = time.Now() | ||
| 487 | } | 463 | } |
| 488 | 464 | ||
| 489 | // 默认返回总榜 | 465 | // 默认返回总榜 |
| @@ -190,7 +190,7 @@ func (suMoneyService *SuMoneyService) SearchSuMoneyTransactionRecord(searchSuMon | @@ -190,7 +190,7 @@ func (suMoneyService *SuMoneyService) SearchSuMoneyTransactionRecord(searchSuMon | ||
| 190 | } | 190 | } |
| 191 | } | 191 | } |
| 192 | 192 | ||
| 193 | -// 素币事务记录统计 | 193 | +// 素币事务记录统计(个人素币) |
| 194 | func (suMoneyService *SuMoneyService) SuMoneyTransactionRecordStatistics(suMoneyTransactionRecordStatisticsCommand *command.SuMoneyTransactionRecordStatisticsCommand) (interface{}, error) { | 194 | func (suMoneyService *SuMoneyService) SuMoneyTransactionRecordStatistics(suMoneyTransactionRecordStatisticsCommand *command.SuMoneyTransactionRecordStatisticsCommand) (interface{}, error) { |
| 195 | if err := suMoneyTransactionRecordStatisticsCommand.ValidateCommand(); err != nil { | 195 | if err := suMoneyTransactionRecordStatisticsCommand.ValidateCommand(); err != nil { |
| 196 | return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | 196 | return nil, application.ThrowError(application.ARG_ERROR, err.Error()) |
| @@ -226,7 +226,7 @@ func (suMoneyService *SuMoneyService) SuMoneyTransactionRecordStatistics(suMoney | @@ -226,7 +226,7 @@ func (suMoneyService *SuMoneyService) SuMoneyTransactionRecordStatistics(suMoney | ||
| 226 | } | 226 | } |
| 227 | } | 227 | } |
| 228 | 228 | ||
| 229 | -// 贡献值事务记录统计 | 229 | +// 贡献值事务记录统计(个人贡献值) |
| 230 | func (suMoneyService *SuMoneyService) ContributionsTransactionRecordStatistics(contributionsTransactionRecordStatisticsCommand *command.ContributionsTransactionRecordStatisticsCommand) (interface{}, error) { | 230 | func (suMoneyService *SuMoneyService) ContributionsTransactionRecordStatistics(contributionsTransactionRecordStatisticsCommand *command.ContributionsTransactionRecordStatisticsCommand) (interface{}, error) { |
| 231 | if err := contributionsTransactionRecordStatisticsCommand.ValidateCommand(); err != nil { | 231 | if err := contributionsTransactionRecordStatisticsCommand.ValidateCommand(); err != nil { |
| 232 | return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | 232 | return nil, application.ThrowError(application.ARG_ERROR, err.Error()) |
| @@ -98,17 +98,17 @@ func (dao *EmployeeDao) CalculatePersonSuMoney(uid int64) (map[string]interface{ | @@ -98,17 +98,17 @@ func (dao *EmployeeDao) CalculatePersonSuMoney(uid int64) (map[string]interface{ | ||
| 98 | tx := dao.transactionContext.PgTx | 98 | tx := dao.transactionContext.PgTx |
| 99 | suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord) | 99 | suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord) |
| 100 | yesterday := time.Now().AddDate(0, 0, -1) | 100 | yesterday := time.Now().AddDate(0, 0, -1) |
| 101 | - // 昨日收益 | 101 | + // 昨日总收益 |
| 102 | if err := tx.Model(suMoneyTransactionRecordModel). | 102 | if err := tx.Model(suMoneyTransactionRecordModel). |
| 103 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). | 103 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). |
| 104 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). | 104 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). |
| 105 | - Where(`su_money_transaction_record.record_type IN (?)`, pg.In([]int{2, 3})). | 105 | + Where(`su_money_transaction_record.record_type IN (?)`, pg.In([]int{2, 3, 6})). |
| 106 | Where(`su_money_transaction_record.create_time > ?`, time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 0, 0, 0, 0, yesterday.Location())). | 106 | Where(`su_money_transaction_record.create_time > ?`, time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 0, 0, 0, 0, yesterday.Location())). |
| 107 | Where(`su_money_transaction_record.create_time < ?`, time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 23, 59, 59, 0, yesterday.Location())). | 107 | Where(`su_money_transaction_record.create_time < ?`, time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 23, 59, 59, 0, yesterday.Location())). |
| 108 | Select(&incomeSuMoneyOfYesterday); err != nil { | 108 | Select(&incomeSuMoneyOfYesterday); err != nil { |
| 109 | return nil, err | 109 | return nil, err |
| 110 | } | 110 | } |
| 111 | - // 昨日支出 | 111 | + // 昨日总支出 |
| 112 | if err := tx.Model(suMoneyTransactionRecordModel). | 112 | if err := tx.Model(suMoneyTransactionRecordModel). |
| 113 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). | 113 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). |
| 114 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). | 114 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). |
| @@ -122,7 +122,7 @@ func (dao *EmployeeDao) CalculatePersonSuMoney(uid int64) (map[string]interface{ | @@ -122,7 +122,7 @@ func (dao *EmployeeDao) CalculatePersonSuMoney(uid int64) (map[string]interface{ | ||
| 122 | if err := tx.Model(suMoneyTransactionRecordModel). | 122 | if err := tx.Model(suMoneyTransactionRecordModel). |
| 123 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). | 123 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). |
| 124 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). | 124 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). |
| 125 | - Where(`su_money_transaction_record.record_type IN (?)`, pg.In([]int{2, 3})). | 125 | + Where(`su_money_transaction_record.record_type IN (?)`, pg.In([]int{2, 3, 6})). |
| 126 | Select(&incomeSuMoney); err != nil { | 126 | Select(&incomeSuMoney); err != nil { |
| 127 | return nil, err | 127 | return nil, err |
| 128 | } | 128 | } |
| @@ -180,7 +180,7 @@ func (dao *EmployeeDao) CalculateSystemSuMoney(companyId int64) (map[string] int | @@ -180,7 +180,7 @@ func (dao *EmployeeDao) CalculateSystemSuMoney(companyId int64) (map[string] int | ||
| 180 | },nil | 180 | },nil |
| 181 | } | 181 | } |
| 182 | 182 | ||
| 183 | -// 计算系统已兑换现金、未兑换现金 | 183 | +// 计算现金池已兑换现金、未兑换现金 |
| 184 | func (dao *EmployeeDao) CalculateSystemCash(companyId int64) (map[string] interface{}, error) { | 184 | func (dao *EmployeeDao) CalculateSystemCash(companyId int64) (map[string] interface{}, error) { |
| 185 | tx := dao.transactionContext.PgTx | 185 | tx := dao.transactionContext.PgTx |
| 186 | var ( | 186 | var ( |
| @@ -220,7 +220,7 @@ func (dao *EmployeeDao) CalculateSuMoneyTransactionRecord(uid int64, transaction | @@ -220,7 +220,7 @@ func (dao *EmployeeDao) CalculateSuMoneyTransactionRecord(uid int64, transaction | ||
| 220 | ) | 220 | ) |
| 221 | tx := dao.transactionContext.PgTx | 221 | tx := dao.transactionContext.PgTx |
| 222 | suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord) | 222 | suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord) |
| 223 | - // 收入素币 | 223 | + // 总收入素币 |
| 224 | if err := tx.Model(suMoneyTransactionRecordModel). | 224 | if err := tx.Model(suMoneyTransactionRecordModel). |
| 225 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). | 225 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). |
| 226 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). | 226 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). |
| @@ -230,7 +230,7 @@ func (dao *EmployeeDao) CalculateSuMoneyTransactionRecord(uid int64, transaction | @@ -230,7 +230,7 @@ func (dao *EmployeeDao) CalculateSuMoneyTransactionRecord(uid int64, transaction | ||
| 230 | Select(&incomeSuMoney); err != nil { | 230 | Select(&incomeSuMoney); err != nil { |
| 231 | return nil, err | 231 | return nil, err |
| 232 | } | 232 | } |
| 233 | - // 支出素币 | 233 | + // 总支出素币 |
| 234 | if err := tx.Model(suMoneyTransactionRecordModel). | 234 | if err := tx.Model(suMoneyTransactionRecordModel). |
| 235 | ColumnExpr("sum(su_money_transaction_record.su_money) AS expend_su_money"). | 235 | ColumnExpr("sum(su_money_transaction_record.su_money) AS expend_su_money"). |
| 236 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). | 236 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). |
| @@ -241,20 +241,20 @@ func (dao *EmployeeDao) CalculateSuMoneyTransactionRecord(uid int64, transaction | @@ -241,20 +241,20 @@ func (dao *EmployeeDao) CalculateSuMoneyTransactionRecord(uid int64, transaction | ||
| 241 | return nil, err | 241 | return nil, err |
| 242 | } | 242 | } |
| 243 | return map[string]interface{}{ | 243 | return map[string]interface{}{ |
| 244 | - "incomeSuMoney": incomeSuMoney, | ||
| 245 | - "expendSuMoney": expendSuMoney, | 244 | + "incomeSuMoney": incomeSuMoney - expendSuMoney, // 个人素币盈利 |
| 245 | + "expendSuMoney": expendSuMoney, // 个人素币支出 | ||
| 246 | }, nil | 246 | }, nil |
| 247 | } | 247 | } |
| 248 | 248 | ||
| 249 | // 计算个人贡献值收支 | 249 | // 计算个人贡献值收支 |
| 250 | func (dao *EmployeeDao) CalculateContributionsTransactionRecord(uid int64, transactionStartTime time.Time, transactionEndTime time.Time) (map[string]interface{}, error) { | 250 | func (dao *EmployeeDao) CalculateContributionsTransactionRecord(uid int64, transactionStartTime time.Time, transactionEndTime time.Time) (map[string]interface{}, error) { |
| 251 | var ( | 251 | var ( |
| 252 | - incomeContributions float64 // 增加的贡献值(2:任务奖励,3:增加) | ||
| 253 | - expendContributions float64 // 扣除的贡献值 (4: 扣除) | 252 | + incomeContributions float64 // 收入的贡献值(2:任务奖励,3:增加) |
| 253 | + expendContributions float64 // 支出的贡献值 (4: 扣除) | ||
| 254 | ) | 254 | ) |
| 255 | tx := dao.transactionContext.PgTx | 255 | tx := dao.transactionContext.PgTx |
| 256 | suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord) | 256 | suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord) |
| 257 | - // 增加的贡献值 | 257 | + // 总收入的贡献值 |
| 258 | if err := tx.Model(suMoneyTransactionRecordModel). | 258 | if err := tx.Model(suMoneyTransactionRecordModel). |
| 259 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). | 259 | ColumnExpr("sum(su_money_transaction_record.su_money) AS income_su_money"). |
| 260 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). | 260 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). |
| @@ -264,7 +264,7 @@ func (dao *EmployeeDao) CalculateContributionsTransactionRecord(uid int64, trans | @@ -264,7 +264,7 @@ func (dao *EmployeeDao) CalculateContributionsTransactionRecord(uid int64, trans | ||
| 264 | Select(&incomeContributions); err != nil { | 264 | Select(&incomeContributions); err != nil { |
| 265 | return nil, err | 265 | return nil, err |
| 266 | } | 266 | } |
| 267 | - // 扣除的贡献值 | 267 | + // 总支出的贡献值 |
| 268 | if err := tx.Model(suMoneyTransactionRecordModel). | 268 | if err := tx.Model(suMoneyTransactionRecordModel). |
| 269 | ColumnExpr("sum(su_money_transaction_record.su_money) AS expend_su_money"). | 269 | ColumnExpr("sum(su_money_transaction_record.su_money) AS expend_su_money"). |
| 270 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). | 270 | Where(`su_money_transaction_record.employee @> '{"uid":?}'`, uid). |
| @@ -275,8 +275,8 @@ func (dao *EmployeeDao) CalculateContributionsTransactionRecord(uid int64, trans | @@ -275,8 +275,8 @@ func (dao *EmployeeDao) CalculateContributionsTransactionRecord(uid int64, trans | ||
| 275 | return nil, err | 275 | return nil, err |
| 276 | } | 276 | } |
| 277 | return map[string]interface{}{ | 277 | return map[string]interface{}{ |
| 278 | - "incomeContributions": incomeContributions, | ||
| 279 | - "expendContributions": expendContributions, | 278 | + "incomeContributions": incomeContributions - expendContributions, // 个人贡献值盈利 |
| 279 | + "expendContributions": expendContributions, // 个人贡献支出 | ||
| 280 | }, nil | 280 | }, nil |
| 281 | } | 281 | } |
| 282 | 282 |
-
请 注册 或 登录 后发表评论