Merge remote-tracking branch 'origin/test'
正在显示
23 个修改的文件
包含
433 行增加
和
64 行删除
@@ -351,10 +351,12 @@ func CenterCompanys(header *protocol.RequestHeader, request *protocolx.CenterCom | @@ -351,10 +351,12 @@ func CenterCompanys(header *protocol.RequestHeader, request *protocolx.CenterCom | ||
351 | break | 351 | break |
352 | case protocol.LoginByCredentials: | 352 | case protocol.LoginByCredentials: |
353 | //凭证是否存在 | 353 | //凭证是否存在 |
354 | - if credential, e := userAuth.NewRedisUserCredential(request.Phone).GetAuth(); e != nil || !strings.EqualFold(credential, request.Credentials) { | ||
355 | - log.Debug("凭证过期或者已失效:", request.Phone) | ||
356 | - err = protocol.NewErrWithMessage(4140, err) | ||
357 | - return | 354 | + if constant.DISENABLE_MULTI_DEVICE_LOGIN { |
355 | + if credential, e := userAuth.NewRedisUserCredential(request.Phone).GetAuth(); e != nil || !strings.EqualFold(credential, request.Credentials) { | ||
356 | + log.Debug("凭证过期或者已失效:", request.Phone) | ||
357 | + err = protocol.NewErrWithMessage(4140, err) | ||
358 | + return | ||
359 | + } | ||
358 | } | 360 | } |
359 | if _, err = utils.ParseJWTToken(request.Credentials); err != nil { | 361 | if _, err = utils.ParseJWTToken(request.Credentials); err != nil { |
360 | err = protocol.NewErrWithMessage(4140, err) | 362 | err = protocol.NewErrWithMessage(4140, err) |
@@ -419,10 +421,12 @@ func Companys(header *protocol.RequestHeader, request *protocolx.CompanysRequest | @@ -419,10 +421,12 @@ func Companys(header *protocol.RequestHeader, request *protocolx.CompanysRequest | ||
419 | return | 421 | return |
420 | } | 422 | } |
421 | //凭证是否存在 | 423 | //凭证是否存在 |
422 | - if credential, e := userAuth.NewRedisUserCredential(claim.Phone).GetAuth(); e != nil || !strings.EqualFold(credential, request.Credentials) { | ||
423 | - log.Debug("凭证过期或者已失效:", claim.Phone) | ||
424 | - err = protocol.NewErrWithMessage(4140, err) | ||
425 | - return | 424 | + if constant.DISENABLE_MULTI_DEVICE_LOGIN { |
425 | + if credential, e := userAuth.NewRedisUserCredential(claim.Phone).GetAuth(); e != nil || !strings.EqualFold(credential, request.Credentials) { | ||
426 | + log.Debug("凭证过期或者已失效:", claim.Phone) | ||
427 | + err = protocol.NewErrWithMessage(4140, err) | ||
428 | + return | ||
429 | + } | ||
426 | } | 430 | } |
427 | loginSvr.Init(claim.Phone) | 431 | loginSvr.Init(claim.Phone) |
428 | rsp.Partner, _ = loginSvr.PartnerStaticInfo() | 432 | rsp.Partner, _ = loginSvr.PartnerStaticInfo() |
@@ -458,11 +462,13 @@ func LoginV2(header *protocol.RequestHeader, request *protocol.LoginRequestV2) ( | @@ -458,11 +462,13 @@ func LoginV2(header *protocol.RequestHeader, request *protocol.LoginRequestV2) ( | ||
458 | err = protocol.NewErrWithMessage(4140, err) | 462 | err = protocol.NewErrWithMessage(4140, err) |
459 | return | 463 | return |
460 | } | 464 | } |
461 | - //凭证是否存在 | ||
462 | - if credential, e := userAuth.NewRedisUserCredential(claim.Phone).GetAuth(); e != nil || !strings.EqualFold(credential, request.Credentials) { | ||
463 | - log.Debug("凭证过期或者已失效:", claim.Phone) | ||
464 | - err = protocol.NewErrWithMessage(4140, err) | ||
465 | - return | 465 | + if constant.DISENABLE_MULTI_DEVICE_LOGIN { |
466 | + //凭证是否存在 | ||
467 | + if credential, e := userAuth.NewRedisUserCredential(claim.Phone).GetAuth(); e != nil || !strings.EqualFold(credential, request.Credentials) { | ||
468 | + log.Debug("凭证过期或者已失效:", claim.Phone) | ||
469 | + err = protocol.NewErrWithMessage(4140, err) | ||
470 | + return | ||
471 | + } | ||
466 | } | 472 | } |
467 | if company, e := CompanyRepository.FindOne(map[string]interface{}{"id": request.Cid, "enable": 1}); e != nil || company == nil { | 473 | if company, e := CompanyRepository.FindOne(map[string]interface{}{"id": request.Cid, "enable": 1}); e != nil || company == nil { |
468 | err = protocol.NewErrWithMessage(10007, err) | 474 | err = protocol.NewErrWithMessage(10007, err) |
@@ -142,10 +142,10 @@ func getJoinWays(transactionContext *transaction.TransactionContext) (joinWays [ | @@ -142,10 +142,10 @@ func getJoinWays(transactionContext *transaction.TransactionContext) (joinWays [ | ||
142 | // 获取公司统计 | 142 | // 获取公司统计 |
143 | func getStatistics(userId int64, transactionContext *transaction.TransactionContext) (interface{}, error) { | 143 | func getStatistics(userId int64, transactionContext *transaction.TransactionContext) (interface{}, error) { |
144 | var ( | 144 | var ( |
145 | - UsersRepository, _ = factory.CreateUsersRepository(transactionContext) | ||
146 | - PartnerInfoDao, _ = factory.CreatePartnerInfoDao(transactionContext) | ||
147 | - OrderBaseDao, _ = factory.CreateOrderBaseDao(transactionContext) | ||
148 | - BusinessBonusDao, _ = factory.CreateBusinessBonusDao(transactionContext) | 145 | + UsersRepository, _ = factory.CreateUsersRepository(transactionContext) |
146 | + PartnerInfoDao, _ = factory.CreatePartnerInfoDao(transactionContext) | ||
147 | + OrderBaseDao, _ = factory.CreateOrderBaseDao(transactionContext) | ||
148 | + //BusinessBonusDao, _ = factory.CreateBusinessBonusDao(transactionContext) | ||
149 | //user *domain.Users | 149 | //user *domain.Users |
150 | partnerIds []int64 | 150 | partnerIds []int64 |
151 | ) | 151 | ) |
@@ -156,6 +156,10 @@ func getStatistics(userId int64, transactionContext *transaction.TransactionCont | @@ -156,6 +156,10 @@ func getStatistics(userId int64, transactionContext *transaction.TransactionCont | ||
156 | partnerIds = user.AccessPartnerIds() | 156 | partnerIds = user.AccessPartnerIds() |
157 | } | 157 | } |
158 | Statistics := make(map[string]interface{}) | 158 | Statistics := make(map[string]interface{}) |
159 | + //Statistics["developDividend"] = 0 | ||
160 | + //Statistics["developOrdersMoney"] = 0 | ||
161 | + //Statistics["appDividend"] = 0 | ||
162 | + //Statistics["appOrdersMoney"] = 0 | ||
159 | if count, e := PartnerInfoDao.PartnerStatic(map[string]interface{}{"inPartnerIds": partnerIds, "inPartnerCategory": domain.Career}); e == nil { | 163 | if count, e := PartnerInfoDao.PartnerStatic(map[string]interface{}{"inPartnerIds": partnerIds, "inPartnerCategory": domain.Career}); e == nil { |
160 | Statistics["careerCount"] = count | 164 | Statistics["careerCount"] = count |
161 | } | 165 | } |
@@ -168,18 +172,27 @@ func getStatistics(userId int64, transactionContext *transaction.TransactionCont | @@ -168,18 +172,27 @@ func getStatistics(userId int64, transactionContext *transaction.TransactionCont | ||
168 | if count, e := PartnerInfoDao.PartnerStatic(map[string]interface{}{"inPartnerIds": partnerIds, "inPartnerCategory": domain.App}); e == nil { | 172 | if count, e := PartnerInfoDao.PartnerStatic(map[string]interface{}{"inPartnerIds": partnerIds, "inPartnerCategory": domain.App}); e == nil { |
169 | Statistics["appCount"] = count | 173 | Statistics["appCount"] = count |
170 | } | 174 | } |
171 | - if bonus, e := OrderBaseDao.OrderBonusStatics(domain.OrderBonusQuery{InPartnerIds: partnerIds, OrderTypes: domain.UserOrderTypes(domain.Career)}); e == nil { | 175 | + if bonus, e := OrderBaseDao.OrderBonusStatics(domain.OrderBonusQuery{InPartnerIds: partnerIds, OrderTypes: domain.UserOrderTypes(domain.Career), PartnerCategoryId: domain.Career}); e == nil { |
172 | Statistics["careerOrdersMoney"] = bonus.TotalOrderAmount | 176 | Statistics["careerOrdersMoney"] = bonus.TotalOrderAmount |
173 | Statistics["careerDividend"] = bonus.Bonus | 177 | Statistics["careerDividend"] = bonus.Bonus |
174 | } | 178 | } |
175 | - if businessBonus, e := BusinessBonusDao.OrderBonusStatics(domain.OrderBonusQuery{InPartnerIds: partnerIds, IsDisable: 1}); e == nil { | ||
176 | - Statistics["businessDividend"] = businessBonus.Bonus | ||
177 | - Statistics["businessOrdersMoney"] = businessBonus.TotalOrderAmount | 179 | + if bonus, e := OrderBaseDao.OrderBonusStatics(domain.OrderBonusQuery{InPartnerIds: partnerIds, OrderTypes: domain.UserOrderTypes(domain.Career), PartnerCategoryId: domain.Business}); e == nil { |
180 | + Statistics["businessOrdersMoney"] = bonus.TotalOrderAmount | ||
181 | + Statistics["businessDividend"] = bonus.Bonus | ||
178 | } | 182 | } |
179 | - Statistics["developDividend"] = 0 | ||
180 | - Statistics["developOrdersMoney"] = 0 | ||
181 | - Statistics["appDividend"] = 0 | ||
182 | - Statistics["appOrdersMoney"] = 0 | 183 | + if bonus, e := OrderBaseDao.OrderBonusStatics(domain.OrderBonusQuery{InPartnerIds: partnerIds, OrderTypes: domain.UserOrderTypes(domain.Career), PartnerCategoryId: domain.Develop}); e == nil { |
184 | + Statistics["developOrdersMoney"] = bonus.TotalOrderAmount | ||
185 | + Statistics["developDividend"] = bonus.Bonus | ||
186 | + } | ||
187 | + if bonus, e := OrderBaseDao.OrderBonusStatics(domain.OrderBonusQuery{InPartnerIds: partnerIds, OrderTypes: domain.UserOrderTypes(domain.Career), PartnerCategoryId: domain.App}); e == nil { | ||
188 | + Statistics["appOrdersMoney"] = bonus.TotalOrderAmount | ||
189 | + Statistics["appDividend"] = bonus.Bonus | ||
190 | + } | ||
191 | + //if businessBonus, e := BusinessBonusDao.OrderBonusStatics(domain.OrderBonusQuery{InPartnerIds: partnerIds, IsDisable: 1}); e == nil { | ||
192 | + // Statistics["businessDividend"] = businessBonus.Bonus | ||
193 | + // Statistics["businessOrdersMoney"] = businessBonus.TotalOrderAmount | ||
194 | + //} | ||
195 | + | ||
183 | Statistics["totalCount"] = len(partnerIds) | 196 | Statistics["totalCount"] = len(partnerIds) |
184 | return Statistics, nil | 197 | return Statistics, nil |
185 | } | 198 | } |
pkg/application/company/company_v2.go
0 → 100644
1 | +package company | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/tiptok/gocomm/pkg/log" | ||
5 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/factory" | ||
6 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" | ||
7 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/transaction" | ||
8 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/utils" | ||
9 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol" | ||
10 | + protocolx "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol/company" | ||
11 | + userx "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol/user" | ||
12 | +) | ||
13 | + | ||
14 | +func PartnersV2(header *protocol.RequestHeader, request *protocolx.PartnersRequest) (rsp *protocolx.PartnersResponse, err error) { | ||
15 | + var ( | ||
16 | + transactionContext, _ = factory.CreateTransactionContext(nil) | ||
17 | + ) | ||
18 | + rsp = &protocolx.PartnersResponse{} | ||
19 | + if err = transactionContext.StartTransaction(); err != nil { | ||
20 | + log.Error(err) | ||
21 | + return nil, err | ||
22 | + } | ||
23 | + defer func() { | ||
24 | + transactionContext.RollbackTransaction() | ||
25 | + }() | ||
26 | + if rsp.Partners, err = getPartnersV2(header.UserId, request, transactionContext); err != nil { | ||
27 | + log.Error(err) | ||
28 | + return | ||
29 | + } | ||
30 | + if rsp.Partners == nil { | ||
31 | + rsp.Partners = []struct{}{} | ||
32 | + } | ||
33 | + err = transactionContext.CommitTransaction() | ||
34 | + return | ||
35 | +} | ||
36 | + | ||
37 | +func getPartnersV2(userId int64, request *protocolx.PartnersRequest, transactionContext *transaction.TransactionContext) (interface{}, error) { | ||
38 | + var ( | ||
39 | + UsersRepository, _ = factory.CreateUsersRepository(transactionContext) | ||
40 | + PartnerInfo, _ = factory.CreatePartnerInfoDao(transactionContext) | ||
41 | + user *domain.Users | ||
42 | + err error | ||
43 | + PartnerCategoryInfoRepository, _ = factory.CreatePartnerCategoryInfoRepository(transactionContext) | ||
44 | + ) | ||
45 | + | ||
46 | + if user, err = UsersRepository.FindOne(map[string]interface{}{"id": userId}); err != nil { | ||
47 | + return nil, err | ||
48 | + } | ||
49 | + | ||
50 | + var company *domain.Company | ||
51 | + var CompanyResponsitory, _ = factory.CreateCompanyRepository(transactionContext) | ||
52 | + if company, err = CompanyResponsitory.FindOne(map[string]interface{}{"id": user.CompanyId}); err != nil { | ||
53 | + return nil, err | ||
54 | + } | ||
55 | + | ||
56 | + if len(user.AccessPartnerIds()) == 0 { | ||
57 | + return nil, nil | ||
58 | + } | ||
59 | + mapCategoryInfo := make(map[int64]*domain.PartnerCategoryInfo) | ||
60 | + if _, categories, e := PartnerCategoryInfoRepository.Find(nil); e == nil { | ||
61 | + for i := range categories { | ||
62 | + mapCategoryInfo[categories[i].Id] = categories[i] | ||
63 | + } | ||
64 | + } | ||
65 | + | ||
66 | + queryOption := make(map[string]interface{}) | ||
67 | + if len(request.Districts) > 0 { | ||
68 | + var districts []string | ||
69 | + for i := 0; i < len(request.Districts); i++ { | ||
70 | + districts = append(districts, request.Districts[i].Name) | ||
71 | + } | ||
72 | + queryOption["districts"] = districts | ||
73 | + } | ||
74 | + if len(request.JoinWays) > 0 { | ||
75 | + var joinWays []int64 | ||
76 | + for i := 0; i < len(request.JoinWays); i++ { | ||
77 | + joinWays = append(joinWays, request.JoinWays[i].Type) | ||
78 | + } | ||
79 | + queryOption["joinWays"] = joinWays | ||
80 | + } | ||
81 | + if request.StartTime > 0 { | ||
82 | + queryOption["startTime"] = request.StartTime / 1000 | ||
83 | + } | ||
84 | + if request.EndTime > 0 { | ||
85 | + queryOption["endTime"] = request.EndTime / 1000 | ||
86 | + } | ||
87 | + queryOption["limit"] = request.PageSize | ||
88 | + queryOption["offset"] = request.PageSize * request.PageIndex | ||
89 | + | ||
90 | + queryOption["sortByBonus"] = domain.DESC | ||
91 | + if request.SortBy != 0 { | ||
92 | + queryOption["sortByBonus"] = domain.ASC | ||
93 | + } | ||
94 | + | ||
95 | + if partners, e := PartnerInfo.Partners(user.AccessPartnerIds(), queryOption); e == nil { | ||
96 | + var array []interface{} | ||
97 | + for i := range partners { | ||
98 | + mapPartners := make(map[string]interface{}) | ||
99 | + p := partners[i] | ||
100 | + mapPartners["uid"] = p.Id | ||
101 | + mapPartners["uname"] = p.PartnerName | ||
102 | + | ||
103 | + var joinWays []protocolx.JoinWays | ||
104 | + for j := range p.PartnerCategoryInfos { | ||
105 | + c := p.PartnerCategoryInfos[j] | ||
106 | + if v, ok := mapCategoryInfo[c.Id]; ok { | ||
107 | + joinWays = append(joinWays, protocolx.JoinWays{Type: v.Id, Name: v.Name}) | ||
108 | + } | ||
109 | + } | ||
110 | + mapPartners["joinWays"] = joinWays | ||
111 | + | ||
112 | + mapPartners["dividend"] = utils.Decimal(p.Bonus) | ||
113 | + mapPartners["ordersCount"] = p.Total | ||
114 | + mapPartners["ordersMoney"] = utils.Decimal(p.Amount) | ||
115 | + mapPartners["phone"] = p.Account | ||
116 | + | ||
117 | + partnerCompany := userx.Company{ | ||
118 | + Id: company.Id, | ||
119 | + Name: company.Name, | ||
120 | + Phone: company.Phone, | ||
121 | + SerialNo: p.Id, | ||
122 | + CooperateTime: p.CooperateTime.Unix() * 1000, | ||
123 | + MiniProgram: nil, | ||
124 | + District: map[string]interface{}{"id": p.RegionInfo.RegionId, "name": p.RegionInfo.RegionName}, | ||
125 | + } | ||
126 | + if len(p.Salesman) > 0 { | ||
127 | + partnerCompany.Salesman = map[string]interface{}{"uname": p.Salesman[0].Name, "phone": p.Salesman[0].Telephone} | ||
128 | + } else { | ||
129 | + partnerCompany.Salesman = map[string]interface{}{} | ||
130 | + } | ||
131 | + mapPartners["company"] = partnerCompany | ||
132 | + | ||
133 | + array = append(array, mapPartners) | ||
134 | + } | ||
135 | + return array, nil | ||
136 | + } | ||
137 | + return nil, nil | ||
138 | +} | ||
139 | + | ||
140 | +func funcPartnerCompanyInfo(companyId int64, transactionContext *transaction.TransactionContext) (partnerCompany userx.Company, err error) { | ||
141 | + var ( | ||
142 | + CompanyResponsitory, _ = factory.CreateCompanyRepository(transactionContext) | ||
143 | + company *domain.Company | ||
144 | + ) | ||
145 | + if company, err = CompanyResponsitory.FindOne(map[string]interface{}{"id": companyId}); err != nil { | ||
146 | + return | ||
147 | + } | ||
148 | + | ||
149 | + partnerCompany = userx.Company{ | ||
150 | + Id: company.Id, | ||
151 | + Name: company.Name, | ||
152 | + Phone: company.Phone, | ||
153 | + //SerialNo: partnerInfo.Id, | ||
154 | + //CooperateTime: partnerInfo.CooperateTime.Unix() * 1000, | ||
155 | + MiniProgram: nil, | ||
156 | + //District: map[string]interface{}{"id": partnerInfo.RegionInfo.RegionId, "name": partnerInfo.RegionInfo.RegionName}, | ||
157 | + } | ||
158 | + | ||
159 | + //if len(partnerInfo.Salesman) > 0 { | ||
160 | + // u.CooperateCompany.Salesman = map[string]interface{}{"uname": partnerInfo.Salesman[0].Name, "phone": partnerInfo.Salesman[0].Telephone} | ||
161 | + //} else { | ||
162 | + // u.CooperateCompany.Salesman = map[string]interface{}{} | ||
163 | + //} | ||
164 | + //rspMap["user"] = u | ||
165 | + //rsp = rspMap | ||
166 | + return | ||
167 | +} |
@@ -24,7 +24,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | @@ -24,7 +24,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | ||
24 | }() | 24 | }() |
25 | 25 | ||
26 | // 事业分红统计-查询订单 | 26 | // 事业分红统计-查询订单 |
27 | - _, orderAll, e := OrderBaseResponsitory.Find(utils.ObjectJsonToMap(domain.OrderQueryOption{PartnerId: header.UserId, EndTime: time.Now(), SortByCreateTime: domain.DESC, OrderTypes: domain.UserOrderTypes(domain.Career)})) | 27 | + _, orderAll, e := OrderBaseResponsitory.Find(utils.ObjectJsonToMap(domain.OrderQueryOption{PartnerId: request.PartnerId, EndTime: time.Now(), SortByCreateTime: domain.DESC, OrderTypes: domain.UserOrderTypes(domain.Career)})) |
28 | if e != nil { | 28 | if e != nil { |
29 | log.Error(e) | 29 | log.Error(e) |
30 | } | 30 | } |
@@ -40,7 +40,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | @@ -40,7 +40,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | ||
40 | bonusQuarters := QuartersBonusStatics(orderBetween, 0) | 40 | bonusQuarters := QuartersBonusStatics(orderBetween, 0) |
41 | 41 | ||
42 | // 业务分红统计 | 42 | // 业务分红统计 |
43 | - if bonus, e := BusinessBonusRepository.FindOne(map[string]interface{}{"partner_id": header.UserId, "isDisable": 1}); e == nil { | 43 | + if bonus, e := BusinessBonusRepository.FindOne(map[string]interface{}{"partner_id": request.PartnerId, "isDisable": 1}); e == nil { |
44 | bonusAll.Receivable += bonus.Bonus | 44 | bonusAll.Receivable += bonus.Bonus |
45 | bonusAll.Received += bonus.BonusHas | 45 | bonusAll.Received += bonus.BonusHas |
46 | bonusAll.Outstanding += bonus.BonusNot | 46 | bonusAll.Outstanding += bonus.BonusNot |
@@ -125,7 +125,7 @@ func OrderList(header *protocol.RequestHeader, request *protocol.DividendOrdersR | @@ -125,7 +125,7 @@ func OrderList(header *protocol.RequestHeader, request *protocol.DividendOrdersR | ||
125 | 125 | ||
126 | count, orders, err = OrderDao.DividendOrders(&domain.DividendOrdersQueryOption{ | 126 | count, orders, err = OrderDao.DividendOrders(&domain.DividendOrdersQueryOption{ |
127 | OrderTypes: domain.UserOrderTypes(domain.Career), | 127 | OrderTypes: domain.UserOrderTypes(domain.Career), |
128 | - PartnerId: header.UserId, | 128 | + PartnerId: request.PartnerId, |
129 | DetailAction: request.DetailAction, | 129 | DetailAction: request.DetailAction, |
130 | DividendAction: request.DividendAction, | 130 | DividendAction: request.DividendAction, |
131 | //IsDisable: "0", | 131 | //IsDisable: "0", |
@@ -3,10 +3,13 @@ package event | @@ -3,10 +3,13 @@ package event | ||
3 | import ( | 3 | import ( |
4 | "github.com/tiptok/gocomm/xa/eda" | 4 | "github.com/tiptok/gocomm/xa/eda" |
5 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/event/subscriber" | 5 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/event/subscriber" |
6 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/constant" | ||
6 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain/event" | 7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain/event" |
7 | ) | 8 | ) |
8 | 9 | ||
9 | func InitEventCenter() { | 10 | func InitEventCenter() { |
10 | - eda.RegisterSubscribe(&event.AccessTokenEvent{}, &subscriber.AuthCacheSubscribe{}) | ||
11 | - eda.RegisterSubscribe(&event.RefreshTokenEvent{}, &subscriber.AuthCacheSubscribe{}) | 11 | + if constant.DISENABLE_MULTI_DEVICE_LOGIN { |
12 | + eda.RegisterSubscribe(&event.AccessTokenEvent{}, &subscriber.AuthCacheSubscribe{}) | ||
13 | + eda.RegisterSubscribe(&event.RefreshTokenEvent{}, &subscriber.AuthCacheSubscribe{}) | ||
14 | + } | ||
12 | } | 15 | } |
@@ -132,7 +132,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.OrderStatistic | @@ -132,7 +132,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.OrderStatistic | ||
132 | defer func() { | 132 | defer func() { |
133 | transactionContext.RollbackTransaction() | 133 | transactionContext.RollbackTransaction() |
134 | }() | 134 | }() |
135 | - rsp = &protocol.OrderStatisticsResponse{Statistics: protocol.OrderStatics{}} | 135 | + rsp = &protocol.OrderStatisticsResponse{Statistics: &protocol.OrderStatics{}} |
136 | 136 | ||
137 | // 当天订单/累计订单 | 137 | // 当天订单/累计订单 |
138 | if rsp.Statistics.TodayRealQuantity, rsp.Statistics.TodayRealMoney, err = OrderDao.OrderStatics(&domain.OrderStaticQuery{ | 138 | if rsp.Statistics.TodayRealQuantity, rsp.Statistics.TodayRealMoney, err = OrderDao.OrderStatics(&domain.OrderStaticQuery{ |
@@ -195,10 +195,11 @@ func List(header *protocol.RequestHeader, request *protocol.OrderListRequest) (r | @@ -195,10 +195,11 @@ func List(header *protocol.RequestHeader, request *protocol.OrderListRequest) (r | ||
195 | 195 | ||
196 | // 查询订单列表 | 196 | // 查询订单列表 |
197 | queryOption := &domain.OrderQueryOption{ | 197 | queryOption := &domain.OrderQueryOption{ |
198 | - PartnerId: header.UserId, | ||
199 | - Limit: request.PageSize, | ||
200 | - Offset: request.PageSize * request.PageIndex, | ||
201 | - SortByUpdateTime: domain.DESC, | 198 | + Limit: request.PageSize, |
199 | + Offset: request.PageSize * request.PageIndex, | ||
200 | + SortByUpdateTime: domain.DESC, | ||
201 | + PartnerId: request.PartnerId, | ||
202 | + PartnerCategoryId: request.JoinWay, | ||
202 | } | 203 | } |
203 | if request.StartTime > 0 { | 204 | if request.StartTime > 0 { |
204 | queryOption.BeginTime = time.Unix(request.StartTime/1000, 0) | 205 | queryOption.BeginTime = time.Unix(request.StartTime/1000, 0) |
@@ -211,7 +212,12 @@ func List(header *protocol.RequestHeader, request *protocol.OrderListRequest) (r | @@ -211,7 +212,12 @@ func List(header *protocol.RequestHeader, request *protocol.OrderListRequest) (r | ||
211 | total, orders, _ = OrderResponsitory.Find(utils.ObjectJsonToMap(queryOption)) | 212 | total, orders, _ = OrderResponsitory.Find(utils.ObjectJsonToMap(queryOption)) |
212 | if len(orders) != 0 { | 213 | if len(orders) != 0 { |
213 | for i := range orders { | 214 | for i := range orders { |
214 | - rsp.List = append(rsp.List, DomainOrderToOrderListItem(orders[i])) | 215 | + item := DomainOrderToOrderListItem(orders[i]) |
216 | + // 高管查看都是标记已读 | ||
217 | + if orders[i].PartnerId != header.UserId { | ||
218 | + item.IsRead = 1 | ||
219 | + } | ||
220 | + rsp.List = append(rsp.List, item) | ||
215 | } | 221 | } |
216 | } | 222 | } |
217 | 223 | ||
@@ -222,9 +228,10 @@ func List(header *protocol.RequestHeader, request *protocol.OrderListRequest) (r | @@ -222,9 +228,10 @@ func List(header *protocol.RequestHeader, request *protocol.OrderListRequest) (r | ||
222 | ) | 228 | ) |
223 | //累计实发订单 | 229 | //累计实发订单 |
224 | cumulativeQuantity, _, err = OrderDao.OrderStatics(&domain.OrderStaticQuery{ | 230 | cumulativeQuantity, _, err = OrderDao.OrderStatics(&domain.OrderStaticQuery{ |
225 | - EndTime: time.Now().Unix() * 1000, | ||
226 | - OrderTypes: domain.UserOrderTypes(domain.Career), | ||
227 | - PartnerId: header.UserId, | 231 | + EndTime: time.Now().Unix() * 1000, |
232 | + OrderTypes: domain.UserOrderTypes(domain.Career), | ||
233 | + PartnerId: request.PartnerId, | ||
234 | + PartnerCategoryId: request.JoinWay, | ||
228 | }) | 235 | }) |
229 | rsp.Total = cumulativeQuantity | 236 | rsp.Total = cumulativeQuantity |
230 | } | 237 | } |
pkg/application/order/order_v2.go
0 → 100644
1 | +package order | ||
2 | + | ||
3 | +import ( | ||
4 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/factory" | ||
5 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" | ||
6 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/utils" | ||
7 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol" | ||
8 | + "time" | ||
9 | +) | ||
10 | + | ||
11 | +// 订单统计 | ||
12 | +func StatisticsV2(header *protocol.RequestHeader, request *protocol.OrderStatisticsRequest) (rsp *protocol.OrderStatisticsResponse, err error) { | ||
13 | + var ( | ||
14 | + transactionContext, _ = factory.CreateTransactionContext(nil) | ||
15 | + OrderDao, _ = factory.CreateOrderBaseDao(transactionContext) | ||
16 | + ) | ||
17 | + if err = transactionContext.StartTransaction(); err != nil { | ||
18 | + return nil, err | ||
19 | + } | ||
20 | + defer func() { | ||
21 | + transactionContext.RollbackTransaction() | ||
22 | + }() | ||
23 | + rsp = &protocol.OrderStatisticsResponse{} | ||
24 | + | ||
25 | + //事业分红/业务分红 | ||
26 | + var total float64 //,developBonus,appBonus,careerBonus, businessBonus, | ||
27 | + if bonus, e := OrderDao.OrderBonusStatics(domain.OrderBonusQuery{PartnerId: request.PartnerId, OrderTypes: domain.UserOrderTypes(domain.Career)}); e == nil { | ||
28 | + //careerBonus = bonus.Bonus | ||
29 | + total += bonus.Bonus | ||
30 | + } | ||
31 | + calcOrderStatic := func(catId int, total float64) protocol.OrderStatic { | ||
32 | + todayRealQuantity, todayRealMoney, _ := OrderDao.OrderStatics(&domain.OrderStaticQuery{ | ||
33 | + BeginTime: utils.GetDayBegin().Unix() * 1000, | ||
34 | + EndTime: utils.GetDayEnd().Unix() * 1000, | ||
35 | + OrderTypes: domain.UserOrderTypes(domain.Career), | ||
36 | + PartnerId: request.PartnerId, | ||
37 | + PartnerCategoryId: catId, | ||
38 | + }) | ||
39 | + cumulativeQuantity, cumulativeMoney, _ := OrderDao.OrderStatics(&domain.OrderStaticQuery{ | ||
40 | + EndTime: time.Now().Unix() * 1000, | ||
41 | + OrderTypes: domain.UserOrderTypes(domain.Career), | ||
42 | + PartnerId: request.PartnerId, | ||
43 | + PartnerCategoryId: catId, | ||
44 | + }) | ||
45 | + bonus, _ := OrderDao.OrderBonusStatics(domain.OrderBonusQuery{PartnerId: request.PartnerId, OrderTypes: domain.UserOrderTypes(domain.Career), PartnerCategoryId: catId}) | ||
46 | + var percent float64 = 0 | ||
47 | + if bonus.Bonus != 0 { | ||
48 | + percent = utils.DecimalToNumber(bonus.Bonus * 100 / total) | ||
49 | + } | ||
50 | + return protocol.OrderStatic{ | ||
51 | + Percent: percent, | ||
52 | + TodayRealQuantity: todayRealQuantity, | ||
53 | + TodayRealMoney: utils.Decimal(todayRealMoney), | ||
54 | + CumulativeQuantity: cumulativeQuantity, | ||
55 | + CumulativeMoney: utils.Decimal(cumulativeMoney), | ||
56 | + } | ||
57 | + } | ||
58 | + rsp.Career = calcOrderStatic(domain.Career, total) | ||
59 | + rsp.Business = calcOrderStatic(domain.Business, total) | ||
60 | + rsp.Develop = calcOrderStatic(domain.Develop, total) | ||
61 | + rsp.App = calcOrderStatic(domain.App, total) | ||
62 | + | ||
63 | + err = transactionContext.CommitTransaction() | ||
64 | + return | ||
65 | +} |
@@ -220,7 +220,9 @@ func UserInfoV2(header *protocol.RequestHeader, request *protocol.UserInfoReques | @@ -220,7 +220,9 @@ func UserInfoV2(header *protocol.RequestHeader, request *protocol.UserInfoReques | ||
220 | miniProgram["userName"] = company.Applets[0].Id | 220 | miniProgram["userName"] = company.Applets[0].Id |
221 | miniProgram["path"] = fmt.Sprintf("%v?inviter_id=%v&company_id=%v", company.Applets[0].URL, partnerInfo.Id, partnerInfo.CompanyId) | 221 | miniProgram["path"] = fmt.Sprintf("%v?inviter_id=%v&company_id=%v", company.Applets[0].URL, partnerInfo.Id, partnerInfo.CompanyId) |
222 | miniProgram["hdImageUrl"] = constant.SHARE_SHOP_PREVIEW_IMADGE | 222 | miniProgram["hdImageUrl"] = constant.SHARE_SHOP_PREVIEW_IMADGE |
223 | - //miniProgram["miniprogramType"] = constant.WEHAT_MINI_PROGRAM_VERSION_TYPE | 223 | + if len(company.Applets[0].ImageUrl) > 0 { |
224 | + miniProgram["hdImageUrl"] = company.Applets[0].ImageUrl | ||
225 | + } | ||
224 | miniProgram["title"] = company.Applets[0].Name | 226 | miniProgram["title"] = company.Applets[0].Name |
225 | } | 227 | } |
226 | } | 228 | } |
@@ -21,6 +21,9 @@ var DEFAULT_GUEST_COMPANY int = 10011 | @@ -21,6 +21,9 @@ var DEFAULT_GUEST_COMPANY int = 10011 | ||
21 | 21 | ||
22 | var SHARE_SHOP_PREVIEW_IMADGE = "https://media.fjmaimaimai.com/image/default/3E0C7050C13147CE8C7AF86C75F904E9-6-2.jpg" //分享店铺预览图 | 22 | var SHARE_SHOP_PREVIEW_IMADGE = "https://media.fjmaimaimai.com/image/default/3E0C7050C13147CE8C7AF86C75F904E9-6-2.jpg" //分享店铺预览图 |
23 | var WEHAT_MINI_PROGRAM_VERSION_TYPE = 2 //0:正式版 1:开发版 2:体验版 | 23 | var WEHAT_MINI_PROGRAM_VERSION_TYPE = 2 //0:正式版 1:开发版 2:体验版 |
24 | + | ||
25 | +var DISENABLE_MULTI_DEVICE_LOGIN = false //不允许多端登录 (注:正式环境需要为true 测试环境设为false,方便多个设备测试) | ||
26 | + | ||
24 | func init() { | 27 | func init() { |
25 | if os.Getenv("LOG_LEVEL") != "" { | 28 | if os.Getenv("LOG_LEVEL") != "" { |
26 | LOG_LEVEL = os.Getenv("LOG_LEVEL") | 29 | LOG_LEVEL = os.Getenv("LOG_LEVEL") |
@@ -7,7 +7,7 @@ var POSTGRESQL_USER = "postgres" // | @@ -7,7 +7,7 @@ var POSTGRESQL_USER = "postgres" // | ||
7 | var POSTGRESQL_PASSWORD = "eagle1010" //pgsql@123 | 7 | var POSTGRESQL_PASSWORD = "eagle1010" //pgsql@123 |
8 | var POSTGRESQL_HOST = "114.55.200.59" //127.0.0.1 | 8 | var POSTGRESQL_HOST = "114.55.200.59" //127.0.0.1 |
9 | var POSTGRESQL_PORT = "31543" //5432 | 9 | var POSTGRESQL_PORT = "31543" //5432 |
10 | -var DISABLE_CREATE_TABLE = false | 10 | +var DISABLE_CREATE_TABLE = true |
11 | var DISABLE_SQL_GENERATE_PRINT = false | 11 | var DISABLE_SQL_GENERATE_PRINT = false |
12 | 12 | ||
13 | func init() { | 13 | func init() { |
@@ -32,4 +32,7 @@ func init() { | @@ -32,4 +32,7 @@ func init() { | ||
32 | if os.Getenv("DISABLE_SQL_GENERATE_PRINT") != "" { | 32 | if os.Getenv("DISABLE_SQL_GENERATE_PRINT") != "" { |
33 | DISABLE_SQL_GENERATE_PRINT = true | 33 | DISABLE_SQL_GENERATE_PRINT = true |
34 | } | 34 | } |
35 | + if POSTGRESQL_DB_NAME == "partner" { | ||
36 | + DISENABLE_MULTI_DEVICE_LOGIN = true | ||
37 | + } | ||
35 | } | 38 | } |
1 | package domain | 1 | package domain |
2 | 2 | ||
3 | type CompanyApplets struct { | 3 | type CompanyApplets struct { |
4 | - Name string `json:"name"` | ||
5 | - URL string `json:"url"` | ||
6 | - Id string `json:"id"` | 4 | + Name string `json:"name"` |
5 | + URL string `json:"url"` | ||
6 | + ImageUrl string `json:"imageUrl"` | ||
7 | + Id string `json:"id"` | ||
7 | } | 8 | } |
8 | 9 | ||
9 | func (applets CompanyApplets) Valid() bool { | 10 | func (applets CompanyApplets) Valid() bool { |
@@ -63,6 +63,8 @@ type OrderBase struct { | @@ -63,6 +63,8 @@ type OrderBase struct { | ||
63 | DataFrom *OrderDataFrom | 63 | DataFrom *OrderDataFrom |
64 | // 备注 | 64 | // 备注 |
65 | Remark string | 65 | Remark string |
66 | + // 订单所属合伙人类别 | ||
67 | + PartnerCategory *PartnerCategoryInfo | ||
66 | } | 68 | } |
67 | 69 | ||
68 | func (m *OrderBase) Identify() interface{} { | 70 | func (m *OrderBase) Identify() interface{} { |
@@ -150,10 +152,11 @@ type OrderQueryOption struct { | @@ -150,10 +152,11 @@ type OrderQueryOption struct { | ||
150 | BeginTime time.Time `json:"beginTime,omitempty"` | 152 | BeginTime time.Time `json:"beginTime,omitempty"` |
151 | EndTime time.Time `json:"endTime,omitempty"` | 153 | EndTime time.Time `json:"endTime,omitempty"` |
152 | //IsDisable string `json:"isDisable,omitempty"` | 154 | //IsDisable string `json:"isDisable,omitempty"` |
153 | - SortByCreateTime string `json:"sortByCreateTime,omitempty"` | ||
154 | - SortByUpdateTime string `json:"sortByUpdateTime,omitempty"` | ||
155 | - Offset int `json:"offset,omitempty"` | ||
156 | - Limit int `json:"limit,omitempty"` | 155 | + SortByCreateTime string `json:"sortByCreateTime,omitempty"` |
156 | + SortByUpdateTime string `json:"sortByUpdateTime,omitempty"` | ||
157 | + Offset int `json:"offset,omitempty"` | ||
158 | + Limit int `json:"limit,omitempty"` | ||
159 | + PartnerCategoryId int `json:"partnerCategoryId,omitempty"` | ||
157 | } | 160 | } |
158 | 161 | ||
159 | type DividendOrdersQueryOption struct { | 162 | type DividendOrdersQueryOption struct { |
@@ -13,6 +13,7 @@ type OrderStaticQuery struct { | @@ -13,6 +13,7 @@ type OrderStaticQuery struct { | ||
13 | OrderType int `json:"orderType,omitempty"` | 13 | OrderType int `json:"orderType,omitempty"` |
14 | OrderTypes []int `json:"orderTypes,omitempty"` | 14 | OrderTypes []int `json:"orderTypes,omitempty"` |
15 | //IsDisable int `json:"isDisable,omitempty"` | 15 | //IsDisable int `json:"isDisable,omitempty"` |
16 | + PartnerCategoryId int `json:"partnerCategoryId,omitempty"` | ||
16 | } | 17 | } |
17 | 18 | ||
18 | type DividendOrdersQuery struct { | 19 | type DividendOrdersQuery struct { |
@@ -24,12 +25,13 @@ type DividendOrdersQuery struct { | @@ -24,12 +25,13 @@ type DividendOrdersQuery struct { | ||
24 | 25 | ||
25 | // 订单分红统计-查询 | 26 | // 订单分红统计-查询 |
26 | type OrderBonusQuery struct { | 27 | type OrderBonusQuery struct { |
27 | - PartnerId int64 `json:"partnerId,omitempty"` | ||
28 | - CompanyId int64 `json:"companyId,omitempty"` | ||
29 | - InPartnerIds []int64 `json:"inPartnerIds,omitempty"` | ||
30 | - IsDisable int `json:"isDisable,omitempty"` | ||
31 | - OrderType int `json:"orderType,omitempty"` | ||
32 | - OrderTypes []int `json:"orderTypes,omitempty"` | 28 | + PartnerId int64 `json:"partnerId,omitempty"` |
29 | + CompanyId int64 `json:"companyId,omitempty"` | ||
30 | + InPartnerIds []int64 `json:"inPartnerIds,omitempty"` | ||
31 | + IsDisable int `json:"isDisable,omitempty"` | ||
32 | + OrderType int `json:"orderType,omitempty"` | ||
33 | + OrderTypes []int `json:"orderTypes,omitempty"` | ||
34 | + PartnerCategoryId int `json:"partnerCategoryId,omitempty"` //订单所属类型 | ||
33 | } | 35 | } |
34 | 36 | ||
35 | // 订单分红统计-应答 | 37 | // 订单分红统计-应答 |
@@ -39,6 +39,9 @@ func (dao *OrderBaseDao) OrderStatics(option *domain.OrderStaticQuery) (count in | @@ -39,6 +39,9 @@ func (dao *OrderBaseDao) OrderStatics(option *domain.OrderStaticQuery) (count in | ||
39 | if option.EndTime > 0 { | 39 | if option.EndTime > 0 { |
40 | q.Where(`"order_base".create_time <?`, time.Unix(option.EndTime/1000, 0)) | 40 | q.Where(`"order_base".create_time <?`, time.Unix(option.EndTime/1000, 0)) |
41 | } | 41 | } |
42 | + if option.PartnerCategoryId > 0 { | ||
43 | + q.Where(`"order_base".partner_category @>'{"id":?}'`, option.PartnerCategoryId) | ||
44 | + } | ||
42 | //q.Where(`"order_base".is_disable =?`, 0) | 45 | //q.Where(`"order_base".is_disable =?`, 0) |
43 | err = q.Select(&count, &amount, &orderAmount) | 46 | err = q.Select(&count, &amount, &orderAmount) |
44 | if option.OrderType == domain.OrderIntention { //意向订单值只有 order_amount order_actual_amount还未赋值 | 47 | if option.OrderType == domain.OrderIntention { //意向订单值只有 order_amount order_actual_amount还未赋值 |
@@ -74,6 +77,9 @@ func (dao *OrderBaseDao) OrderBonusStatics(option domain.OrderBonusQuery) (rsp d | @@ -74,6 +77,9 @@ func (dao *OrderBaseDao) OrderBonusStatics(option domain.OrderBonusQuery) (rsp d | ||
74 | if len(option.OrderTypes) > 0 { | 77 | if len(option.OrderTypes) > 0 { |
75 | q.Where(`"order_base".order_type in (?)`, pg.In(option.OrderTypes)) | 78 | q.Where(`"order_base".order_type in (?)`, pg.In(option.OrderTypes)) |
76 | } | 79 | } |
80 | + if option.PartnerCategoryId > 0 { | ||
81 | + q.Where(`"order_base".partner_category @>'{"id":?}'`, option.PartnerCategoryId) | ||
82 | + } | ||
77 | err = q.Select(&rsp.Total, &rsp.Bonus, &rsp.BonusExpense, &rsp.TotalOrderAmount) | 83 | err = q.Select(&rsp.Total, &rsp.Bonus, &rsp.BonusExpense, &rsp.TotalOrderAmount) |
78 | return | 84 | return |
79 | } | 85 | } |
1 | package repository | 1 | package repository |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "encoding/json" | ||
4 | "github.com/go-pg/pg/v10" | 5 | "github.com/go-pg/pg/v10" |
5 | "github.com/go-pg/pg/v10/orm" | 6 | "github.com/go-pg/pg/v10/orm" |
6 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" | 7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" |
@@ -88,6 +89,10 @@ func (repository *OrderBaseRepository) Find(queryOptions map[string]interface{}) | @@ -88,6 +89,10 @@ func (repository *OrderBaseRepository) Find(queryOptions map[string]interface{}) | ||
88 | if v, ok := queryOptions["orderTypes"]; ok { | 89 | if v, ok := queryOptions["orderTypes"]; ok { |
89 | query.Where(`"order_base".order_type in (?)`, pg.In(v)) | 90 | query.Where(`"order_base".order_type in (?)`, pg.In(v)) |
90 | } | 91 | } |
92 | + if v, ok := queryOptions["partnerCategoryId"]; ok { | ||
93 | + catId, _ := (v.(json.Number)).Int64() | ||
94 | + query.Where(`"order_base".partner_category @>'{"id":?}'`, catId) | ||
95 | + } | ||
91 | var err error | 96 | var err error |
92 | if query.AffectRow, err = query.SelectAndCount(); err != nil { | 97 | if query.AffectRow, err = query.SelectAndCount(); err != nil { |
93 | return 0, OrderBases, err | 98 | return 0, OrderBases, err |
@@ -59,6 +59,30 @@ func (this *CompanyController) Partners() { | @@ -59,6 +59,30 @@ func (this *CompanyController) Partners() { | ||
59 | msg = protocol.NewReturnResponse(data, err) | 59 | msg = protocol.NewReturnResponse(data, err) |
60 | } | 60 | } |
61 | 61 | ||
62 | +// Partners | ||
63 | +// 测试 | ||
64 | +func (this *CompanyController) PartnersV2() { | ||
65 | + var msg *protocol.ResponseMessage | ||
66 | + defer func() { | ||
67 | + this.Resp(msg) | ||
68 | + }() | ||
69 | + var request *protocolx.PartnersRequest | ||
70 | + if err := this.JsonUnmarshal(&request); err != nil { | ||
71 | + msg = protocol.BadRequestParam(1) | ||
72 | + return | ||
73 | + } | ||
74 | + if b, m := this.Valid(request); !b { | ||
75 | + msg = m | ||
76 | + return | ||
77 | + } | ||
78 | + header := this.GetRequestHeader(this.Ctx) | ||
79 | + data, err := company.PartnersV2(header, request) | ||
80 | + if err != nil { | ||
81 | + log.Error(err) | ||
82 | + } | ||
83 | + msg = protocol.NewReturnResponse(data, err) | ||
84 | +} | ||
85 | + | ||
62 | // Statistics | 86 | // Statistics |
63 | // 测试 | 87 | // 测试 |
64 | func (this *CompanyController) Statistics() { | 88 | func (this *CompanyController) Statistics() { |
@@ -25,6 +25,9 @@ func (this *DividendController) DividendStatistics() { | @@ -25,6 +25,9 @@ func (this *DividendController) DividendStatistics() { | ||
25 | return | 25 | return |
26 | } | 26 | } |
27 | header := this.GetRequestHeader(this.Ctx) | 27 | header := this.GetRequestHeader(this.Ctx) |
28 | + if request.PartnerId == 0 { | ||
29 | + request.PartnerId = header.UserId | ||
30 | + } | ||
28 | msg = protocol.NewReturnResponse(dividend.Statistics(header, request)) | 31 | msg = protocol.NewReturnResponse(dividend.Statistics(header, request)) |
29 | } | 32 | } |
30 | 33 | ||
@@ -44,5 +47,8 @@ func (this *DividendController) DividendOrders() { | @@ -44,5 +47,8 @@ func (this *DividendController) DividendOrders() { | ||
44 | return | 47 | return |
45 | } | 48 | } |
46 | header := this.GetRequestHeader(this.Ctx) | 49 | header := this.GetRequestHeader(this.Ctx) |
50 | + if request.PartnerId == 0 { | ||
51 | + request.PartnerId = header.UserId | ||
52 | + } | ||
47 | msg = protocol.NewReturnResponse(dividend.OrderList(header, request)) | 53 | msg = protocol.NewReturnResponse(dividend.OrderList(header, request)) |
48 | } | 54 | } |
@@ -31,6 +31,29 @@ func (this *OrderController) Statistics() { | @@ -31,6 +31,29 @@ func (this *OrderController) Statistics() { | ||
31 | msg = protocol.NewReturnResponse(order.Statistics(header, request)) | 31 | msg = protocol.NewReturnResponse(order.Statistics(header, request)) |
32 | } | 32 | } |
33 | 33 | ||
34 | +//OrderStatistics 订单统计 | ||
35 | +// @router /statistics [post] | ||
36 | +func (this *OrderController) StatisticsV2() { | ||
37 | + var msg *protocol.ResponseMessage | ||
38 | + defer func() { | ||
39 | + this.Resp(msg) | ||
40 | + }() | ||
41 | + var request *protocol.OrderStatisticsRequest | ||
42 | + if err := this.JsonUnmarshal(&request); err != nil { | ||
43 | + msg = protocol.BadRequestParam(1) | ||
44 | + return | ||
45 | + } | ||
46 | + if b, m := this.Valid(request); !b { | ||
47 | + msg = m | ||
48 | + return | ||
49 | + } | ||
50 | + header := this.GetRequestHeader(this.Ctx) | ||
51 | + if request.PartnerId == 0 { | ||
52 | + request.PartnerId = header.UserId | ||
53 | + } | ||
54 | + msg = protocol.NewReturnResponse(order.StatisticsV2(header, request)) | ||
55 | +} | ||
56 | + | ||
34 | //OrderDetail 订单详情 | 57 | //OrderDetail 订单详情 |
35 | // @router /orderDetail [post] | 58 | // @router /orderDetail [post] |
36 | func (this *OrderController) OrderDetail() { | 59 | func (this *OrderController) OrderDetail() { |
@@ -68,6 +91,9 @@ func (this *OrderController) OrderList() { | @@ -68,6 +91,9 @@ func (this *OrderController) OrderList() { | ||
68 | } | 91 | } |
69 | request.OrderTypes = domain.UserOrderTypes(domain.Career) | 92 | request.OrderTypes = domain.UserOrderTypes(domain.Career) |
70 | header := this.GetRequestHeader(this.Ctx) | 93 | header := this.GetRequestHeader(this.Ctx) |
94 | + if request.PartnerId == 0 { | ||
95 | + request.PartnerId = header.UserId | ||
96 | + } | ||
71 | msg = protocol.NewReturnResponse(order.List(header, request)) | 97 | msg = protocol.NewReturnResponse(order.List(header, request)) |
72 | } | 98 | } |
73 | 99 |
@@ -3,6 +3,7 @@ package middleware | @@ -3,6 +3,7 @@ package middleware | ||
3 | import ( | 3 | import ( |
4 | "github.com/astaxie/beego/context" | 4 | "github.com/astaxie/beego/context" |
5 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/userAuth" | 5 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/userAuth" |
6 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/constant" | ||
6 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/utils" | 7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/utils" |
7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol" | 8 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol" |
8 | "strconv" | 9 | "strconv" |
@@ -39,15 +40,17 @@ func CheckJWTToken(ctx *context.Context) { | @@ -39,15 +40,17 @@ func CheckJWTToken(ctx *context.Context) { | ||
39 | } else { | 40 | } else { |
40 | ctx.Input.SetData("UserId", u.UserId) | 41 | ctx.Input.SetData("UserId", u.UserId) |
41 | 42 | ||
42 | - // valid token | ||
43 | - userPhone, _ := strconv.Atoi(u.Phone) | ||
44 | - tokenAuth := userAuth.NewRedisUserAuth(userAuth.WithUserId(int64(userPhone))) | ||
45 | - err := tokenAuth.Check( | ||
46 | - userAuth.NewOptions(userAuth.WithAccessToken(token)), | ||
47 | - ) | ||
48 | - if err != nil { | ||
49 | - msg = protocol.NewMesage(4141) | ||
50 | - return | 43 | + if constant.DISENABLE_MULTI_DEVICE_LOGIN { |
44 | + // valid token | ||
45 | + userPhone, _ := strconv.Atoi(u.Phone) | ||
46 | + tokenAuth := userAuth.NewRedisUserAuth(userAuth.WithUserId(int64(userPhone))) | ||
47 | + err := tokenAuth.Check( | ||
48 | + userAuth.NewOptions(userAuth.WithAccessToken(token)), | ||
49 | + ) | ||
50 | + if err != nil { | ||
51 | + msg = protocol.NewMesage(4141) | ||
52 | + return | ||
53 | + } | ||
51 | } | 54 | } |
52 | } | 55 | } |
53 | return | 56 | return |
@@ -45,5 +45,8 @@ func InitV2() { | @@ -45,5 +45,8 @@ func InitV2() { | ||
45 | nsV2 := beego.NewNamespace("v2") // ,, beego.NSBefore(middleware.CheckJWTToken) | 45 | nsV2 := beego.NewNamespace("v2") // ,, beego.NSBefore(middleware.CheckJWTToken) |
46 | nsV2.Router("/auth/login", &controllers.AuthController{}, "Post:LoginV2") | 46 | nsV2.Router("/auth/login", &controllers.AuthController{}, "Post:LoginV2") |
47 | nsV2.Router("/user/userInfo", &controllers.UserController{}, "Post:UserInfoV2") | 47 | nsV2.Router("/user/userInfo", &controllers.UserController{}, "Post:UserInfoV2") |
48 | + nsV2.Router("/company/partners", &controllers.CompanyController{}, "post:PartnersV2") | ||
49 | + | ||
50 | + nsV2.Router("/order/statistics", &controllers.OrderController{}, "Post:StatisticsV2") | ||
48 | beego.AddNamespace(nsV2) | 51 | beego.AddNamespace(nsV2) |
49 | } | 52 | } |
@@ -11,6 +11,7 @@ type DividendStatisticsRequest struct { | @@ -11,6 +11,7 @@ type DividendStatisticsRequest struct { | ||
11 | EndTime int64 `json:"endTime" valid:"Required"` | 11 | EndTime int64 `json:"endTime" valid:"Required"` |
12 | //分红类型(0累计分红、1分红支出) | 12 | //分红类型(0累计分红、1分红支出) |
13 | //DividendAction int `json:"dividendAction"` | 13 | //DividendAction int `json:"dividendAction"` |
14 | + PartnerId int64 `json:"partnerId"` | ||
14 | } | 15 | } |
15 | type DividendStatisticsResponse struct { | 16 | type DividendStatisticsResponse struct { |
16 | Statistics DividendStatistics `json:"statistics"` | 17 | Statistics DividendStatistics `json:"statistics"` |
@@ -39,6 +40,8 @@ type DividendOrdersRequest struct { | @@ -39,6 +40,8 @@ type DividendOrdersRequest struct { | ||
39 | 40 | ||
40 | PageIndex int `json:"pageIndex,omitempty"` | 41 | PageIndex int `json:"pageIndex,omitempty"` |
41 | PageSize int `json:"pageSize,omitempty"` | 42 | PageSize int `json:"pageSize,omitempty"` |
43 | + | ||
44 | + PartnerId int64 `json:"partnerId"` | ||
42 | } | 45 | } |
43 | type DividendOrdersResponse struct { | 46 | type DividendOrdersResponse struct { |
44 | List []*DividendOrderListItem `json:"list"` | 47 | List []*DividendOrderListItem `json:"list"` |
@@ -43,9 +43,14 @@ type Customer struct { | @@ -43,9 +43,14 @@ type Customer struct { | ||
43 | 43 | ||
44 | /*OrderStatistics */ | 44 | /*OrderStatistics */ |
45 | type OrderStatisticsRequest struct { | 45 | type OrderStatisticsRequest struct { |
46 | + PartnerId int64 `json:"partnerId"` | ||
46 | } | 47 | } |
47 | type OrderStatisticsResponse struct { | 48 | type OrderStatisticsResponse struct { |
48 | - Statistics OrderStatics `json:"statistics"` | 49 | + Statistics *OrderStatics `json:"statistics,omitempty"` |
50 | + Career OrderStatic `json:"career,omitempty"` //事业 | ||
51 | + Business OrderStatic `json:"business,omitempty"` //业务 | ||
52 | + Develop OrderStatic `json:"develop,omitempty"` //开发 | ||
53 | + App OrderStatic `json:"app,omitempty"` //业务-产品应用 | ||
49 | } | 54 | } |
50 | type OrderStatics struct { | 55 | type OrderStatics struct { |
51 | TodayIntentionQuantity int `json:"-"` //今日新增意向订单 | 56 | TodayIntentionQuantity int `json:"-"` //今日新增意向订单 |
@@ -63,6 +68,14 @@ type OrderStatics struct { | @@ -63,6 +68,14 @@ type OrderStatics struct { | ||
63 | BusinessMoney float64 `json:"businessMoney"` // 业务分红累计 | 68 | BusinessMoney float64 `json:"businessMoney"` // 业务分红累计 |
64 | } | 69 | } |
65 | 70 | ||
71 | +type OrderStatic struct { | ||
72 | + Percent float64 `json:"percent"` // 事业占比 | ||
73 | + TodayRealQuantity int `json:"todayRealQuantity"` //今日新增实发订单 | ||
74 | + TodayRealMoney float64 `json:"todayRealMoney"` //今日新增实发订单金额 | ||
75 | + CumulativeQuantity int `json:"cumulativeQuantity"` //累计实发订单 | ||
76 | + CumulativeMoney float64 `json:"cumulativeMoney"` //累计实发订单金额 | ||
77 | +} | ||
78 | + | ||
66 | /*OrderList */ | 79 | /*OrderList */ |
67 | type OrderListRequest struct { | 80 | type OrderListRequest struct { |
68 | StartTime int64 `json:"startTime"` | 81 | StartTime int64 `json:"startTime"` |
@@ -72,6 +85,9 @@ type OrderListRequest struct { | @@ -72,6 +85,9 @@ type OrderListRequest struct { | ||
72 | PageSize int `json:"pageSize" valid:"Required"` | 85 | PageSize int `json:"pageSize" valid:"Required"` |
73 | OrderType int `json:"-"` | 86 | OrderType int `json:"-"` |
74 | OrderTypes []int `json:"-"` | 87 | OrderTypes []int `json:"-"` |
88 | + | ||
89 | + PartnerId int64 `json:"partnerId"` | ||
90 | + JoinWay int `json:"joinWay"` //合伙方式(0或不传,即所有合伙方式) | ||
75 | } | 91 | } |
76 | type OrderListResponse struct { | 92 | type OrderListResponse struct { |
77 | List []*OrderListItem `json:"list"` | 93 | List []*OrderListItem `json:"list"` |
-
请 注册 或 登录 后发表评论