作者 陈志颖

test:排行榜

... ... @@ -118,3 +118,119 @@
}
2020/11/22 11:27:51.988 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606015671715470000 BodyData:{"code":0,"data":{"currentEmployeeContributions":{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},"currentEmployeeWealth":{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":88100,"Ranking":1},"employeesContributions":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeesContributions":26117.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeesContributions":7132,"Ranking":3},{"Uid":3259769336137728,"EmployeeName":"杨志358","EmployeesContributions":3209.8,"Ranking":4},{"Uid":3259769336383488,"EmployeeName":"张三","EmployeesContributions":-10000,"Ranking":5}],"employeesWealth":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":88100,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeeSuMoney":26217.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeeSuMoney":
2020/11/22 11:27:51.988 [D] [server.go:1925] | 127.0.0.1| 200 | 273.421678ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 11:58:38.218 [I] [???:0] http server Running on http://:8082
2020/11/22 11:58:42.742 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606017522742157000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769335767040,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 11:58:42.790 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606017522742157000 BodyData:{"code":501,"msg":"内部服务出错:ERROR #42703 column \"employee_su_money\" does not exist"}
2020/11/22 11:58:42.790 [D] [server.go:1925] | 127.0.0.1| 200 | 48.380143ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:00:12.438 [I] [???:0] http server Running on http://:8082
2020/11/22 12:00:15.805 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606017615805753000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769335767040,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:00:15.827 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606017615805753000 BodyData:{"code":501,"msg":"内部服务出错:ERROR #42703 column \"su_money_expend\" does not exist"}
2020/11/22 12:00:15.827 [D] [server.go:1925] | 127.0.0.1| 200 | 22.18184ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:03:59.208 [I] [???:0] http server Running on http://:8082
2020/11/22 12:04:07.553 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606017847553717000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769335767040,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:04:07.576 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606017847553717000 BodyData:{"code":501,"msg":"内部服务出错:ERROR #42P01 missing FROM-clause entry for table \"su_money_transaction_record\""}
2020/11/22 12:04:07.576 [D] [server.go:1925] | 127.0.0.1| 200 | 23.004413ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:20:31.275 [I] [???:0] http server Running on http://:8082
2020/11/22 12:20:34.796 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606018834796917000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769335767040,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:20:34.826 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606018834796917000 BodyData:{"code":501,"msg":"内部服务出错:ERROR #42703 column \"su_money_expend\" does not exist"}
2020/11/22 12:20:34.826 [D] [server.go:1925] | 127.0.0.1| 200 | 29.795665ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:22:13.734 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606018933734689000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769335767040,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:22:13.754 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606018933734689000 BodyData:{"code":501,"msg":"内部服务出错:ERROR #42703 column \"su_money_expend\" does not exist"}
2020/11/22 12:22:13.755 [D] [server.go:1925] | 127.0.0.1| 200 | 20.761409ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:23:07.862 [I] [???:0] http server Running on http://:8082
2020/11/22 12:23:10.580 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606018990580426000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769335767040,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:23:10.711 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606018990580426000 BodyData:{"code":0,"data":{"currentEmployeeContributions":{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},"currentEmployeeWealth":{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":86999,"Ranking":1},"employeesContributions":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeesContributions":26117.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeesContributions":7132,"Ranking":3},{"Uid":3259769336137728,"EmployeeName":"杨志358","EmployeesContributions":3209.8,"Ranking":4},{"Uid":3259769336383488,"EmployeeName":"张三","EmployeesContributions":-10000,"Ranking":5}],"employeesWealth":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":86999,"Ranking":1}]},"msg":"ok"}
2020/11/22 12:23:10.711 [D] [server.go:1925] | 127.0.0.1| 200 | 131.065001ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:33:30.845 [I] [???:0] http server Running on http://:8082
2020/11/22 12:33:52.955 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606019632955031000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769335767040,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:33:53.179 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606019632955031000 BodyData:{"code":0,"data":{"currentEmployeeContributions":{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},"currentEmployeeWealth":{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":86999,"Ranking":1},"employeesContributions":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeesContributions":26117.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeesContributions":7132,"Ranking":3},{"Uid":3259769336137728,"EmployeeName":"杨志358","EmployeesContributions":3209.8,"Ranking":4},{"Uid":3259769336383488,"EmployeeName":"张三","EmployeesContributions":-10000,"Ranking":5}],"employeesWealth":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":86999,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeeSuMoney":23819.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeeSuMoney":
2020/11/22 12:33:53.180 [D] [server.go:1925] | 127.0.0.1| 200 | 225.138069ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:34:22.889 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606019662889441000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769336174592,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:34:23.014 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606019662889441000 BodyData:{"code":0,"data":{"currentEmployeeContributions":{"Uid":3259769336174592,"EmployeeName":"索超","EmployeesContributions":26117.3,"Ranking":2},"currentEmployeeWealth":{"Uid":3259769336174592,"EmployeeName":"索超","EmployeeSuMoney":23819.3,"Ranking":2},"employeesContributions":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeesContributions":26117.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeesContributions":7132,"Ranking":3},{"Uid":3259769336137728,"EmployeeName":"杨志358","EmployeesContributions":3209.8,"Ranking":4},{"Uid":3259769336383488,"EmployeeName":"张三","EmployeesContributions":-10000,"Ranking":5}],"employeesWealth":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":86999,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeeSuMoney":23819.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeeSuMon
2020/11/22 12:34:23.015 [D] [server.go:1925] | 127.0.0.1| 200 | 125.760916ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:34:28.359 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606019668359718000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769336174592,
"rankingType": 2,
"offset": 0,
"limit": 20
}
2020/11/22 12:34:28.440 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606019668359718000 BodyData:{"code":0,"data":{"currentEmployeeContributions":null,"currentEmployeeWealth":null,"employeesContributions":null,"employeesWealth":null},"msg":"ok"}
2020/11/22 12:34:28.441 [D] [server.go:1925] | 127.0.0.1| 200 | 81.400555ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
2020/11/22 12:34:33.460 [D] [server.go:2843] ====>Recv User:<nil> RequestId:POST./statistics/employees-ranking-list.1606019673460431000
Auth=
BodyData:{
"companyId": 381,
"uid": 3259769336174592,
"rankingType": 1,
"offset": 0,
"limit": 20
}
2020/11/22 12:34:33.614 [D] [server.go:2843] <====Send RequestId:POST./statistics/employees-ranking-list.1606019673460431000 BodyData:{"code":0,"data":{"currentEmployeeContributions":{"Uid":3259769336174592,"EmployeeName":"索超","EmployeesContributions":26117.3,"Ranking":2},"currentEmployeeWealth":{"Uid":3259769336174592,"EmployeeName":"索超","EmployeeSuMoney":23819.3,"Ranking":2},"employeesContributions":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeesContributions":88000,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeesContributions":26117.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeesContributions":7132,"Ranking":3},{"Uid":3259769336137728,"EmployeeName":"杨志358","EmployeesContributions":3209.8,"Ranking":4},{"Uid":3259769336383488,"EmployeeName":"张三","EmployeesContributions":-10000,"Ranking":5}],"employeesWealth":[{"Uid":3259769335767040,"EmployeeName":"朱武","EmployeeSuMoney":86999,"Ranking":1},{"Uid":3259769336174592,"EmployeeName":"索超","EmployeeSuMoney":23819.3,"Ranking":2},{"Uid":3259769336137728,"EmployeeName":"杨志","EmployeeSuMon
2020/11/22 12:34:33.614 [D] [server.go:1925] | 127.0.0.1| 200 | 154.246858ms| match| POST  /statistics/employees-ranking-list r:/statistics/employees-ranking-list
... ...
... ... @@ -312,30 +312,81 @@ func (dao *EmployeeDao) ContributionsWealthRanking(queryOptions map[string]inter
tx := dao.transactionContext.PgTx
suMoneyTransactionRecordModel := new(models.SuMoneyTransactionRecord)
// 兑换现金退还素币
queryWealthRestore := tx.Model(suMoneyTransactionRecordModel)
queryWealthRestore = queryWealthRestore.Join("JOIN employees AS e ON e.uid = (su_money_transaction_record.employee->>'uid')::bigint")
queryWealthRestore = queryWealthRestore.ColumnExpr("su_money_transaction_record.employee->>'uid' AS uid")
queryWealthRestore = queryWealthRestore.ColumnExpr("su_money_transaction_record.employee->>'employeeName' AS employee_name")
queryWealthRestore = queryWealthRestore.ColumnExpr("sum(su_money_transaction_record.su_money) AS su_money_restore")
queryWealthRestore = queryWealthRestore.ColumnExpr("ROW_NUMBER() OVER (ORDER BY sum(su_money_transaction_record.su_money) DESC) AS ranking")
queryWealthRestore = queryWealthRestore.Where(`su_money_transaction_record.record_type =?`, 6)
queryWealthRestore = queryWealthRestore.Where(`e.status = ?`, 1) // 离职员工过滤
if companyId, ok := queryOptions["companyId"]; ok && (companyId.(int64) != 0) {
queryWealthRestore = queryWealthRestore.Where("e.company_id = ?", companyId)
}
if startTime, ok := queryOptions["startTime"]; ok {
queryWealthRestore = queryWealthRestore.Where(`su_money_transaction_record.create_time > ?`, startTime)
}
if endTime, ok := queryOptions["endTime"]; ok {
queryWealthRestore = queryWealthRestore.Where(`su_money_transaction_record.create_time < ?`, endTime)
}
queryWealthRestoreWith := queryWealthRestore.GroupExpr("su_money_transaction_record.employee->>'uid',su_money_transaction_record.employee->>'employeeName'")
// 兑换现金退还素币子查询
//queryWealthRestoreWith := queryWealthRestore.Order("su_money_restore DESC")
// 素币支出
queryWealthExpend := tx.Model()
queryWealthExpend = queryWealthExpend.With("a", queryWealthRestoreWith)
queryWealthExpend = queryWealthExpend.Table("a")
queryWealthExpend = queryWealthExpend.Table("su_money_transaction_records")
queryWealthExpend = queryWealthExpend.Join("JOIN employees AS e ON e.uid = (su_money_transaction_records.employee->>'uid')::bigint")
queryWealthExpend = queryWealthExpend.ColumnExpr("su_money_transaction_records.employee->>'uid' AS uid")
queryWealthExpend = queryWealthExpend.ColumnExpr("su_money_transaction_records.employee->>'employeeName' AS employee_name")
queryWealthExpend = queryWealthExpend.ColumnExpr("sum(su_money_transaction_records.su_money) - a.su_money_restore AS su_money_expend")
queryWealthExpend = queryWealthExpend.ColumnExpr("ROW_NUMBER() OVER (ORDER BY sum(su_money_transaction_records.su_money) DESC) AS ranking")
queryWealthExpend = queryWealthExpend.Where(`su_money_transaction_records.record_type IN (?)`, pg.In([]int{4, 1, 5}))
queryWealthExpend = queryWealthExpend.Where(`e.status = ?`, 1) // 离职员工过滤
//queryWealthExpend = queryWealthExpend.Where("su_money_transaction_records.employee->>'uid' = a.uid")
if companyId, ok := queryOptions["companyId"]; ok && (companyId.(int64) != 0) {
queryWealthExpend = queryWealthExpend.Where("e.company_id = ?", companyId)
}
if startTime, ok := queryOptions["startTime"]; ok {
queryWealthExpend = queryWealthExpend.Where(`su_money_transaction_records.create_time > ?`, startTime)
}
if endTime, ok := queryOptions["endTime"]; ok {
queryWealthExpend = queryWealthExpend.Where(`su_money_transaction_records.create_time < ?`, endTime)
}
queryWealthExpendWith := queryWealthExpend.GroupExpr("su_money_transaction_records.employee->>'uid',su_money_transaction_records.employee->>'employeeName',a.su_money_restore")
// 素币支出子查询
//queryWealthExpendWith := queryWealthRestore.Order("su_money_expend DESC")
// 财富值榜单(素币)
queryWealth := tx.Model(suMoneyTransactionRecordModel)
queryWealth = queryWealth.Join("JOIN employees AS e ON e.uid = (su_money_transaction_record.employee->>'uid')::bigint")
queryWealth = queryWealth.ColumnExpr("su_money_transaction_record.employee->>'uid' AS uid")
queryWealth = queryWealth.ColumnExpr("su_money_transaction_record.employee->>'employeeName' AS employee_name")
queryWealth = queryWealth.ColumnExpr("sum(su_money_transaction_record.su_money) AS employee_su_money")
queryWealth = queryWealth.ColumnExpr("ROW_NUMBER() OVER (ORDER BY sum(su_money_transaction_record.su_money) DESC) AS ranking")
queryWealth = queryWealth.Where(`su_money_transaction_record.record_type IN (?)`, pg.In([]int{2, 3}))
// 素币值榜单
queryWealth := tx.Model()
queryWealth = queryWealth.With("b", queryWealthExpendWith)
queryWealth = queryWealth.Table("b")
queryWealth = queryWealth.Table("su_money_transaction_records")
queryWealth = queryWealth.Join("JOIN employees AS e ON e.uid = (su_money_transaction_records.employee->>'uid')::bigint")
queryWealth = queryWealth.ColumnExpr("su_money_transaction_records.employee->>'uid' AS uid")
queryWealth = queryWealth.ColumnExpr("su_money_transaction_records.employee->>'employeeName' AS employee_name")
queryWealth = queryWealth.ColumnExpr("sum(su_money_transaction_records.su_money) - b.su_money_expend AS employee_su_money")
queryWealth = queryWealth.ColumnExpr("ROW_NUMBER() OVER (ORDER BY sum(su_money_transaction_records.su_money) DESC) AS ranking")
queryWealth = queryWealth.Where(`su_money_transaction_records.record_type IN (?)`, pg.In([]int{2, 3}))
queryWealth = queryWealth.Where(`e.status = ?`, 1) // 离职员工过滤
queryWealth = queryWealth.Where("su_money_transaction_records.employee->>'uid' = b.uid")
if companyId, ok := queryOptions["companyId"]; ok && (companyId.(int64) != 0) {
queryWealth = queryWealth.Where("e.company_id = ?", companyId)
}
if startTime, ok := queryOptions["startTime"]; ok {
queryWealth = queryWealth.Where(`su_money_transaction_record.create_time > ?`, startTime)
queryWealth = queryWealth.Where(`su_money_transaction_records.create_time > ?`, startTime)
}
if endTime, ok := queryOptions["endTime"]; ok {
queryWealth = queryWealth.Where(`su_money_transaction_record.create_time < ?`, endTime)
queryWealth = queryWealth.Where(`su_money_transaction_records.create_time < ?`, endTime)
}
queryWealth = queryWealth.GroupExpr("su_money_transaction_record.employee->>'uid',su_money_transaction_record.employee->>'employeeName'")
queryWealth = queryWealth.GroupExpr("su_money_transaction_records.employee->>'uid',su_money_transaction_records.employee->>'employeeName',b.su_money_expend")
// 个人财富值子查询(个人素币)
// 个人素币值子查询
queryWealthWith := queryWealth.Order("employee_su_money DESC")
if offset, ok := queryOptions["offset"]; ok {
... ... @@ -359,7 +410,7 @@ func (dao *EmployeeDao) ContributionsWealthRanking(queryOptions map[string]inter
return nil, err
}
// 个人财富值排名(个人素币排名)
// 个人素币排名
queryEmployeeWealth := tx.Model()
queryEmployeeWealth = queryEmployeeWealth.With("t", queryWealthWith)
queryEmployeeWealth = queryEmployeeWealth.Table("t")
... ... @@ -380,7 +431,7 @@ func (dao *EmployeeDao) ContributionsWealthRanking(queryOptions map[string]inter
retCurrentEmployeeWealth = retEmployeeWealth[0]
}
// 贡献值子查询-减少的贡献值
// 减少的贡献值
queryContributionsDecrease := tx.Model(suMoneyTransactionRecordModel)
queryContributionsDecrease = queryContributionsDecrease.Join("JOIN employees AS e ON e.uid = (su_money_transaction_record.employee->>'uid')::bigint")
queryContributionsDecrease = queryContributionsDecrease.ColumnExpr("su_money_transaction_record.employee->>'uid' AS uid")
... ... @@ -398,6 +449,8 @@ func (dao *EmployeeDao) ContributionsWealthRanking(queryOptions map[string]inter
if endTime, ok := queryOptions["endTime"]; ok {
queryContributionsDecrease = queryContributionsDecrease.Where(`su_money_transaction_record.create_time < ?`, endTime)
}
// 贡献值子查询
contributionsDecrease := queryContributionsDecrease.GroupExpr("su_money_transaction_record.employee->>'uid',su_money_transaction_record.employee->>'employeeName'")
// 贡献值排行榜
... ...