正在显示
15 个修改的文件
包含
236 行增加
和
31 行删除
@@ -140,9 +140,11 @@ func RefreshToken(request *protocol.RefreshTokenRequest) (rsp *protocol.RefreshT | @@ -140,9 +140,11 @@ func RefreshToken(request *protocol.RefreshTokenRequest) (rsp *protocol.RefreshT | ||
140 | transactionContext, _ = factory.CreateTransactionContext(nil) | 140 | transactionContext, _ = factory.CreateTransactionContext(nil) |
141 | PartnerInfoService, _ = factory.CreatePartnerInfoRepositoryIn(transactionContext) | 141 | PartnerInfoService, _ = factory.CreatePartnerInfoRepositoryIn(transactionContext) |
142 | UsersRepository, _ = factory.CreateUsersRepository(transactionContext) | 142 | UsersRepository, _ = factory.CreateUsersRepository(transactionContext) |
143 | + CompanyRepository, _ = factory.CreateCompanyRepository(transactionContext) | ||
143 | 144 | ||
144 | partnerInfo *domain.PartnerInfo | 145 | partnerInfo *domain.PartnerInfo |
145 | user *domain.Users | 146 | user *domain.Users |
147 | + company *domain.Company | ||
146 | userId int64 | 148 | userId int64 |
147 | ) | 149 | ) |
148 | 150 | ||
@@ -162,6 +164,11 @@ func RefreshToken(request *protocol.RefreshTokenRequest) (rsp *protocol.RefreshT | @@ -162,6 +164,11 @@ func RefreshToken(request *protocol.RefreshTokenRequest) (rsp *protocol.RefreshT | ||
162 | err = protocol.NewErrWithMessage(1, fmt.Errorf("jwt refrshToken (%v) valid", request.RefreshToken)) | 164 | err = protocol.NewErrWithMessage(1, fmt.Errorf("jwt refrshToken (%v) valid", request.RefreshToken)) |
163 | return | 165 | return |
164 | } | 166 | } |
167 | + if company, err = CompanyRepository.FindOne(map[string]interface{}{"id": claim.CompanyId, "status": 1, "enable": 1}); err != nil || company == nil { | ||
168 | + log.Error(err) | ||
169 | + err = protocol.NewErrWithMessage(4140, err) | ||
170 | + return | ||
171 | + } | ||
165 | 172 | ||
166 | switch claim.AdminType { | 173 | switch claim.AdminType { |
167 | case int(protocolx.AdminTypePartner): | 174 | case int(protocolx.AdminTypePartner): |
@@ -211,7 +211,11 @@ func getPartners(userId int64, request *protocolx.PartnersRequest, transactionCo | @@ -211,7 +211,11 @@ func getPartners(userId int64, request *protocolx.PartnersRequest, transactionCo | ||
211 | queryOption["districts"] = districts | 211 | queryOption["districts"] = districts |
212 | } | 212 | } |
213 | if len(request.JoinWays) > 0 { | 213 | if len(request.JoinWays) > 0 { |
214 | - queryOption["joinWays"] = request.JoinWays | 214 | + var joinWays []int64 |
215 | + for i := 0; i < len(request.JoinWays); i++ { | ||
216 | + joinWays = append(joinWays, request.JoinWays[i].Type) | ||
217 | + } | ||
218 | + queryOption["joinWays"] = joinWays | ||
215 | } | 219 | } |
216 | if request.StartTime > 0 { | 220 | if request.StartTime > 0 { |
217 | queryOption["startTime"] = request.StartTime / 1000 | 221 | queryOption["startTime"] = request.StartTime / 1000 |
@@ -14,6 +14,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | @@ -14,6 +14,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | ||
14 | var ( | 14 | var ( |
15 | transactionContext, _ = factory.CreateTransactionContext(nil) | 15 | transactionContext, _ = factory.CreateTransactionContext(nil) |
16 | OrderBaseResponsitory, _ = factory.CreateOrderBaseRepository(transactionContext) | 16 | OrderBaseResponsitory, _ = factory.CreateOrderBaseRepository(transactionContext) |
17 | + BusinessBonusRepository, _ = factory.CreateBusinessBonusRepository(transactionContext) | ||
17 | ) | 18 | ) |
18 | if err = transactionContext.StartTransaction(); err != nil { | 19 | if err = transactionContext.StartTransaction(); err != nil { |
19 | return nil, err | 20 | return nil, err |
@@ -33,6 +34,9 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | @@ -33,6 +34,9 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DividendStatis | ||
33 | } | 34 | } |
34 | bonusAll := AllBonusStatics(orderAll, 0) | 35 | bonusAll := AllBonusStatics(orderAll, 0) |
35 | bonusQuarters := QuartersBonusStatics(orderBetween, 0) | 36 | bonusQuarters := QuartersBonusStatics(orderBetween, 0) |
37 | + if bonus, e := BusinessBonusRepository.FindOne(map[string]interface{}{"partner_id": header.UserId, "isDisable": 1}); e == nil { | ||
38 | + bonusAll.Receivable += bonus.Bonus | ||
39 | + } | ||
36 | rsp = &protocol.DividendStatisticsResponse{} | 40 | rsp = &protocol.DividendStatisticsResponse{} |
37 | rsp.Statistics = protocol.DividendStatistics{ | 41 | rsp.Statistics = protocol.DividendStatistics{ |
38 | Received: bonusAll.Received, | 42 | Received: bonusAll.Received, |
@@ -7,6 +7,8 @@ import ( | @@ -7,6 +7,8 @@ import ( | ||
7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/partnerInfo/query" | 7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/partnerInfo/query" |
8 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/partnerInfo/service" | 8 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/application/partnerInfo/service" |
9 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" | 9 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" |
10 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/transaction" | ||
11 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/svr" | ||
10 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/log" | 12 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/log" |
11 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol" | 13 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol" |
12 | protocolx "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol/auth" | 14 | protocolx "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/protocol/auth" |
@@ -137,6 +139,13 @@ func ChangePhone(header *protocol.RequestHeader, request *protocol.ChangePhoneRe | @@ -137,6 +139,13 @@ func ChangePhone(header *protocol.RequestHeader, request *protocol.ChangePhoneRe | ||
137 | defer func() { | 139 | defer func() { |
138 | transactionContext.RollbackTransaction() | 140 | transactionContext.RollbackTransaction() |
139 | }() | 141 | }() |
142 | + // 管理员不支持修改手机号 | ||
143 | + if header.AdminType == int(protocolx.AdminTypeManager) { | ||
144 | + //if err=changeUserPhone(header.UserId,request.Phone,transactionContext);err!=nil{ | ||
145 | + // err = protocol.NewCustomMessage(1,err.Error()) | ||
146 | + //} | ||
147 | + return | ||
148 | + } | ||
140 | if partnerInfo, err = PartnerInfoService.FindOne(map[string]interface{}{"id": header.UserId}); err != nil { | 149 | if partnerInfo, err = PartnerInfoService.FindOne(map[string]interface{}{"id": header.UserId}); err != nil { |
141 | err = protocol.NewErrWithMessage(502, err) //账号不存在 | 150 | err = protocol.NewErrWithMessage(502, err) //账号不存在 |
142 | return | 151 | return |
@@ -183,6 +192,12 @@ func ResetPassword(header *protocol.RequestHeader, request *protocol.ResetPasswo | @@ -183,6 +192,12 @@ func ResetPassword(header *protocol.RequestHeader, request *protocol.ResetPasswo | ||
183 | err = protocol.NewErrWithMessage(2026) | 192 | err = protocol.NewErrWithMessage(2026) |
184 | return | 193 | return |
185 | } | 194 | } |
195 | + if header.AdminType == int(protocolx.AdminTypeManager) { | ||
196 | + if err = changeUserInfo(header.UserId, fmt.Sprintf("%v", header.SimNum), request.NewPwd, transactionContext); err != nil { | ||
197 | + err = protocol.NewCustomMessage(1, err.Error()) | ||
198 | + } | ||
199 | + return | ||
200 | + } | ||
186 | if partnerInfo, err = PartnerInfoService.FindOne(map[string]interface{}{"id": header.UserId}); err != nil { | 201 | if partnerInfo, err = PartnerInfoService.FindOne(map[string]interface{}{"id": header.UserId}); err != nil { |
187 | err = protocol.NewErrWithMessage(502, err) //账号不存在 | 202 | err = protocol.NewErrWithMessage(502, err) //账号不存在 |
188 | return | 203 | return |
@@ -226,6 +241,12 @@ func ChangePassword(header *protocol.RequestHeader, request *protocol.ChangePass | @@ -226,6 +241,12 @@ func ChangePassword(header *protocol.RequestHeader, request *protocol.ChangePass | ||
226 | err = protocol.NewErrWithMessage(2026) | 241 | err = protocol.NewErrWithMessage(2026) |
227 | return | 242 | return |
228 | } | 243 | } |
244 | + if header.AdminType == int(protocolx.AdminTypeManager) { | ||
245 | + if err = changeUserPassword(header.UserId, request.NewPwd, request.OldPwd, fmt.Sprintf("%v", header.SimNum), transactionContext); err != nil { | ||
246 | + err = protocol.NewCustomMessage(1, err.Error()) | ||
247 | + } | ||
248 | + return | ||
249 | + } | ||
229 | if strings.EqualFold(request.NewPwd, request.OldPwd) { | 250 | if strings.EqualFold(request.NewPwd, request.OldPwd) { |
230 | err = protocol.NewErrWithMessage(2030) | 251 | err = protocol.NewErrWithMessage(2030) |
231 | return | 252 | return |
@@ -368,3 +389,53 @@ func UserInfoV2(header *protocol.RequestHeader, request *protocol.UserInfoReques | @@ -368,3 +389,53 @@ func UserInfoV2(header *protocol.RequestHeader, request *protocol.UserInfoReques | ||
368 | err = transactionContext.CommitTransaction() | 389 | err = transactionContext.CommitTransaction() |
369 | return | 390 | return |
370 | } | 391 | } |
392 | + | ||
393 | +func changeUserInfo(userId int64, phone, password string, transactionContext *transaction.TransactionContext) (err error) { | ||
394 | + var ( | ||
395 | + ucenterApiGateway = svr.NewHttplibUCenterApiServiceGateway() | ||
396 | + UsersRepository, _ = factory.CreateUsersRepository(transactionContext) | ||
397 | + user *domain.Users | ||
398 | + ) | ||
399 | + if user, err = UsersRepository.FindOne(map[string]interface{}{"id": userId}); err != nil || user == nil { | ||
400 | + log.Error(err) | ||
401 | + err = fmt.Errorf("用户不存在") | ||
402 | + return | ||
403 | + } | ||
404 | + _, err = ucenterApiGateway.UpdateUserPassword(user.OpenId, phone, password) | ||
405 | + return | ||
406 | +} | ||
407 | +func changeUserPhone(userId int64, phone string, transactionContext *transaction.TransactionContext) (err error) { | ||
408 | + var ( | ||
409 | + ucenterApiGateway = svr.NewHttplibUCenterApiServiceGateway() | ||
410 | + UsersRepository, _ = factory.CreateUsersRepository(transactionContext) | ||
411 | + user *domain.Users | ||
412 | + ) | ||
413 | + if user, err = UsersRepository.FindOne(map[string]interface{}{"id": userId}); err != nil || user == nil { | ||
414 | + log.Error(err) | ||
415 | + err = fmt.Errorf("用户不存在") | ||
416 | + return | ||
417 | + } | ||
418 | + if newUser, e := UsersRepository.FindOne(map[string]interface{}{"phone": phone}); e == nil || newUser != nil { | ||
419 | + err = protocol.NewErrWithMessage(2029, err) | ||
420 | + return | ||
421 | + } | ||
422 | + _, err = ucenterApiGateway.UpdateUserPassword(user.OpenId, phone, "") | ||
423 | + if err != nil { | ||
424 | + _, err = transactionContext.PgTx.Exec("update users set phone=? where id=?", phone, userId) | ||
425 | + } | ||
426 | + return | ||
427 | +} | ||
428 | +func changeUserPassword(userId int64, newPwd, oldPwd, phone string, transactionContext *transaction.TransactionContext) (err error) { | ||
429 | + var ( | ||
430 | + ucenterApiGateway = svr.NewHttplibUCenterApiServiceGateway() | ||
431 | + UsersRepository, _ = factory.CreateUsersRepository(transactionContext) | ||
432 | + user *domain.Users | ||
433 | + ) | ||
434 | + if user, err = UsersRepository.FindOne(map[string]interface{}{"id": userId}); err != nil || user == nil { | ||
435 | + log.Error(err) | ||
436 | + err = fmt.Errorf("用户不存在") | ||
437 | + return | ||
438 | + } | ||
439 | + _, err = ucenterApiGateway.ChangePassword(phone, newPwd, oldPwd) | ||
440 | + return | ||
441 | +} |
@@ -11,6 +11,9 @@ var MMM_SMS_SERVICE_HOST = "https://sms.fjmaimaimai.com:9897" | @@ -11,6 +11,9 @@ var MMM_SMS_SERVICE_HOST = "https://sms.fjmaimaimai.com:9897" | ||
11 | var UCENTER_SERVICE_HOST = "https://suplus-ucenter-dev.fjmaimaimai.com" | 11 | var UCENTER_SERVICE_HOST = "https://suplus-ucenter-dev.fjmaimaimai.com" |
12 | var UCENTER_APP_KEY = "0c2c2a23dfc64ae230f5c54ab243ab52" | 12 | var UCENTER_APP_KEY = "0c2c2a23dfc64ae230f5c54ab243ab52" |
13 | 13 | ||
14 | +var BUSINESS_ADMIN_SERVICE_HOST = "http://suplus-business-admin-dev.fjmaimaimai.com" | ||
15 | +var BUSINESS_ADMIN_PLATFORM_ID = "25" //合伙人模块 | ||
16 | + | ||
14 | func init() { | 17 | func init() { |
15 | if os.Getenv("LOG_LEVEL") != "" { | 18 | if os.Getenv("LOG_LEVEL") != "" { |
16 | LOG_LEVEL = os.Getenv("LOG_LEVEL") | 19 | LOG_LEVEL = os.Getenv("LOG_LEVEL") |
@@ -18,4 +21,7 @@ func init() { | @@ -18,4 +21,7 @@ func init() { | ||
18 | if os.Getenv("UCENTER_SERVICE_HOST") != "" { | 21 | if os.Getenv("UCENTER_SERVICE_HOST") != "" { |
19 | UCENTER_SERVICE_HOST = os.Getenv("UCENTER_SERVICE_HOST") | 22 | UCENTER_SERVICE_HOST = os.Getenv("UCENTER_SERVICE_HOST") |
20 | } | 23 | } |
24 | + if os.Getenv("BUSINESS_ADMIN_SERVICE_HOST") != "" { | ||
25 | + BUSINESS_ADMIN_SERVICE_HOST = os.Getenv("BUSINESS_ADMIN_SERVICE_HOST") | ||
26 | + } | ||
21 | } | 27 | } |
@@ -24,6 +24,8 @@ type Company struct { | @@ -24,6 +24,8 @@ type Company struct { | ||
24 | UpdateAt time.Time `json:"updateAt"` | 24 | UpdateAt time.Time `json:"updateAt"` |
25 | // 删除时间 | 25 | // 删除时间 |
26 | DeleteAt time.Time `json:"deleteAt"` | 26 | DeleteAt time.Time `json:"deleteAt"` |
27 | + // 是否开启合伙人模块,是否有效【1:有效】【2:无效】 | ||
28 | + Enable int8 `json:"enable"` | ||
27 | } | 29 | } |
28 | 30 | ||
29 | type CompanyRepository interface { | 31 | type CompanyRepository interface { |
@@ -44,6 +44,8 @@ type Users struct { | @@ -44,6 +44,8 @@ type Users struct { | ||
44 | DeleteAt time.Time `json:"deleteAt"` | 44 | DeleteAt time.Time `json:"deleteAt"` |
45 | // 可查看的合伙人信息 | 45 | // 可查看的合伙人信息 |
46 | AccessPartners []*PartnerInfo | 46 | AccessPartners []*PartnerInfo |
47 | + // 1普通用户 2主管理员 | ||
48 | + AdminType int8 `json:"adminType"` | ||
47 | } | 49 | } |
48 | 50 | ||
49 | func (Users *Users) AccessPartnerIds() []int64 { | 51 | func (Users *Users) AccessPartnerIds() []int64 { |
@@ -2,6 +2,7 @@ package domain_service | @@ -2,6 +2,7 @@ package domain_service | ||
2 | 2 | ||
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/constant" | ||
5 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" | 6 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain" |
6 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/dao" | 7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/dao" |
7 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/transaction" | 8 | "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/transaction" |
@@ -54,8 +55,12 @@ func (svr *PgLoginService) ManagerLogin(phone string, password string) (err erro | @@ -54,8 +55,12 @@ func (svr *PgLoginService) ManagerLogin(phone string, password string) (err erro | ||
54 | err = protocol.NewErrWithMessage(502, err) //账号不存在 | 55 | err = protocol.NewErrWithMessage(502, err) //账号不存在 |
55 | return | 56 | return |
56 | } | 57 | } |
58 | + var openid int64 | ||
57 | ucenerSvr := http_gateway.NewHttplibUCenterApiServiceGateway() | 59 | ucenerSvr := http_gateway.NewHttplibUCenterApiServiceGateway() |
58 | - _, err = ucenerSvr.ServerLogin(phone, password, 1) | 60 | + openid, err = ucenerSvr.ServerLogin(phone, password, 1) |
61 | + if err == nil && openid > 0 { | ||
62 | + _, err = svr.transactionContext.PgTx.Exec("update users set open_id=? where phone=?", openid, phone) | ||
63 | + } | ||
59 | return | 64 | return |
60 | } | 65 | } |
61 | 66 | ||
@@ -138,6 +143,7 @@ func (svr *PgLoginService) ManagerStaticInfo() (interface{}, error) { | @@ -138,6 +143,7 @@ func (svr *PgLoginService) ManagerStaticInfo() (interface{}, error) { | ||
138 | } | 143 | } |
139 | var ( | 144 | var ( |
140 | companyList []*domain.Company | 145 | companyList []*domain.Company |
146 | + adminApiGateway = http_gateway.NewHttplibBusinessAdminApiServiceGateway() | ||
141 | ) | 147 | ) |
142 | doGetCompanyIds := func() []int64 { | 148 | doGetCompanyIds := func() []int64 { |
143 | var companies []int64 | 149 | var companies []int64 |
@@ -150,13 +156,23 @@ func (svr *PgLoginService) ManagerStaticInfo() (interface{}, error) { | @@ -150,13 +156,23 @@ func (svr *PgLoginService) ManagerStaticInfo() (interface{}, error) { | ||
150 | var companys = make([]protocol.CompanyBase, 0) | 156 | var companys = make([]protocol.CompanyBase, 0) |
151 | for i := range companyList { | 157 | for i := range companyList { |
152 | c := companyList[i] | 158 | c := companyList[i] |
153 | - //var user *domain.Users | ||
154 | - //for j:=range svr.Users{ | ||
155 | - // if svr.Users[j].CompanyId==c.Id{ | ||
156 | - // user = svr.Users[j] | ||
157 | - // break | ||
158 | - // } | ||
159 | - //} | 159 | + |
160 | + //通过企业平台 校验模块权限 | ||
161 | + var user *domain.Users | ||
162 | + for j := range svr.Users { | ||
163 | + if svr.Users[j].CompanyId == c.Id { | ||
164 | + user = svr.Users[j] | ||
165 | + break | ||
166 | + } | ||
167 | + } | ||
168 | + if user != nil { | ||
169 | + if code, e := adminApiGateway.UserAuth(user.Id, constant.BUSINESS_ADMIN_PLATFORM_ID); e != nil || code != 0 { | ||
170 | + log.Debug("【检查权限】", svr.Phone, "【公司】", c.Id, user.Id, code, e.Error()) | ||
171 | + continue | ||
172 | + } else { | ||
173 | + log.Debug("【检查权限】", svr.Phone, "【公司】", c.Id, user.Id, code, e) | ||
174 | + } | ||
175 | + } | ||
160 | item := newCompanyBase(c) | 176 | item := newCompanyBase(c) |
161 | companys = append(companys, item) | 177 | companys = append(companys, item) |
162 | } | 178 | } |
@@ -49,8 +49,10 @@ func (repository *CompanyRepository) FindOne(queryOptions map[string]interface{} | @@ -49,8 +49,10 @@ func (repository *CompanyRepository) FindOne(queryOptions map[string]interface{} | ||
49 | CompanyModel := new(models.Company) | 49 | CompanyModel := new(models.Company) |
50 | query := NewQuery(tx.Model(CompanyModel), queryOptions) | 50 | query := NewQuery(tx.Model(CompanyModel), queryOptions) |
51 | query.SetWhere(`"company".id = ?`, "id") | 51 | query.SetWhere(`"company".id = ?`, "id") |
52 | + query.SetWhere(`"company".status = ?`, "status") | ||
53 | + query.SetWhere(`"company".enable = ?`, "enable") | ||
52 | if err := query.First(); err != nil { | 54 | if err := query.First(); err != nil { |
53 | - return nil, query.HandleError(err, "没有此订单") | 55 | + return nil, query.HandleError(err, "没有此公司") |
54 | } | 56 | } |
55 | if CompanyModel.Id == 0 { | 57 | if CompanyModel.Id == 0 { |
56 | return nil, nil | 58 | return nil, nil |
1 | +package svr | ||
2 | + | ||
3 | +import ( | ||
4 | + "fmt" | ||
5 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/constant" | ||
6 | + "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/log" | ||
7 | + "strconv" | ||
8 | + "strings" | ||
9 | + "time" | ||
10 | +) | ||
11 | + | ||
12 | +type HttplibBusinessAdminApiServiceGateway struct { | ||
13 | + httplibBaseServiceGateway | ||
14 | +} | ||
15 | + | ||
16 | +// 服务登录 | ||
17 | +func (serviceGateway *HttplibBusinessAdminApiServiceGateway) UserAuth(userId int64, platformId string) (int, error) { | ||
18 | + url := strings.Join([]string{serviceGateway.baseURL, "auth", "get-user-auth"}, "/") | ||
19 | + request := serviceGateway.createRequest(url, "post") | ||
20 | + request.Header("appKey", constant.UCENTER_APP_KEY) | ||
21 | + options := make(map[string]interface{}) | ||
22 | + options["userId"] = fmt.Sprintf("%v", userId) | ||
23 | + options["platformId"] = fmt.Sprintf("%v", platformId) | ||
24 | + request.JSONBody(options) | ||
25 | + response := make(map[string]interface{}) | ||
26 | + err := request.ToJSON(&response) | ||
27 | + if err != nil { | ||
28 | + log.Error("Service Gateway Fail:", err) | ||
29 | + return 0, err | ||
30 | + } | ||
31 | + return serviceGateway.handlerError(response) | ||
32 | +} | ||
33 | + | ||
34 | +func (serviceGateway *HttplibBusinessAdminApiServiceGateway) handlerError(in map[string]interface{}) (int, error) { | ||
35 | + var rspCode int | ||
36 | + var err error | ||
37 | + if code, ok := in["code"]; ok { | ||
38 | + rspCode, _ = strconv.Atoi(fmt.Sprintf("%v", code)) | ||
39 | + } else { | ||
40 | + err = fmt.Errorf("网关解析错误") | ||
41 | + } | ||
42 | + if msg, ok := in["msg"]; ok { | ||
43 | + msg := msg.(string) | ||
44 | + if rspCode != 0 && len(msg) > 0 { | ||
45 | + err = fmt.Errorf(msg) | ||
46 | + } | ||
47 | + } | ||
48 | + return rspCode, err | ||
49 | +} | ||
50 | + | ||
51 | +func NewHttplibBusinessAdminApiServiceGateway() *HttplibBusinessAdminApiServiceGateway { | ||
52 | + return &HttplibBusinessAdminApiServiceGateway{ | ||
53 | + httplibBaseServiceGateway: httplibBaseServiceGateway{ | ||
54 | + baseURL: constant.BUSINESS_ADMIN_SERVICE_HOST, | ||
55 | + connectTimeout: 100 * time.Second, | ||
56 | + readWriteTimeout: 30 * time.Second, | ||
57 | + }, | ||
58 | + } | ||
59 | +} |
@@ -14,7 +14,7 @@ type HttplibUCenterApiServiceGateway struct { | @@ -14,7 +14,7 @@ type HttplibUCenterApiServiceGateway struct { | ||
14 | } | 14 | } |
15 | 15 | ||
16 | // 服务登录 | 16 | // 服务登录 |
17 | -func (serviceGateway *HttplibUCenterApiServiceGateway) ServerLogin(phone, password string, loginType int) (int, error) { | 17 | +func (serviceGateway *HttplibUCenterApiServiceGateway) ServerLogin(phone, password string, loginType int) (int64, error) { |
18 | url := strings.Join([]string{serviceGateway.baseURL, "auth", "serverLogin"}, "/") | 18 | url := strings.Join([]string{serviceGateway.baseURL, "auth", "serverLogin"}, "/") |
19 | request := serviceGateway.createRequest(url, "post") | 19 | request := serviceGateway.createRequest(url, "post") |
20 | request.Header("appKey", constant.UCENTER_APP_KEY) | 20 | request.Header("appKey", constant.UCENTER_APP_KEY) |
@@ -24,28 +24,56 @@ func (serviceGateway *HttplibUCenterApiServiceGateway) ServerLogin(phone, passwo | @@ -24,28 +24,56 @@ func (serviceGateway *HttplibUCenterApiServiceGateway) ServerLogin(phone, passwo | ||
24 | options["type"] = loginType | 24 | options["type"] = loginType |
25 | request.JSONBody(options) | 25 | request.JSONBody(options) |
26 | response := make(map[string]interface{}) | 26 | response := make(map[string]interface{}) |
27 | - //data,_:=request.Bytes() | ||
28 | - //fmt.Println(string(data)) | ||
29 | err := request.ToJSON(&response) | 27 | err := request.ToJSON(&response) |
28 | + var openid int64 | ||
30 | if err != nil { | 29 | if err != nil { |
31 | log.Error("Service Gateway Fail:", err) | 30 | log.Error("Service Gateway Fail:", err) |
32 | return 0, err | 31 | return 0, err |
33 | } | 32 | } |
34 | - return serviceGateway.handlerError(response) | 33 | + if data, ok := response["data"]; ok { |
34 | + if data, ok := data.(map[string]interface{}); ok { | ||
35 | + if data, ok := data["id"]; ok { | ||
36 | + openid = int64(data.(float64)) | ||
37 | + //openid,err=strconv.ParseInt(fmt.Sprintf("%v",data.(float64)),10,64) | ||
38 | + } | ||
39 | + } | ||
40 | + } | ||
41 | + _, err = serviceGateway.handlerError(response) | ||
42 | + return openid, err | ||
35 | } | 43 | } |
36 | 44 | ||
37 | // 修改密码 | 45 | // 修改密码 |
38 | func (serviceGateway *HttplibUCenterApiServiceGateway) UpdateUserPassword(uid int64, phone, password string) (int, error) { | 46 | func (serviceGateway *HttplibUCenterApiServiceGateway) UpdateUserPassword(uid int64, phone, password string) (int, error) { |
39 | url := strings.Join([]string{serviceGateway.baseURL, "users", fmt.Sprintf("%v", uid)}, "/") | 47 | url := strings.Join([]string{serviceGateway.baseURL, "users", fmt.Sprintf("%v", uid)}, "/") |
40 | request := serviceGateway.createRequest(url, "put") | 48 | request := serviceGateway.createRequest(url, "put") |
41 | - request.Header("appKey", constant.UCENTER_APP_KEY) | 49 | + //request.Header("appKey", constant.UCENTER_APP_KEY) |
42 | options := make(map[string]interface{}) | 50 | options := make(map[string]interface{}) |
51 | + if len(phone) > 0 { | ||
43 | options["phone"] = strings.TrimSpace(phone) | 52 | options["phone"] = strings.TrimSpace(phone) |
53 | + } | ||
54 | + if len(password) > 0 { | ||
44 | options["password"] = strings.TrimSpace(password) | 55 | options["password"] = strings.TrimSpace(password) |
56 | + } | ||
57 | + request.JSONBody(options) | ||
58 | + response := make(map[string]interface{}) | ||
59 | + err := request.ToJSON(&response) | ||
60 | + if err != nil { | ||
61 | + log.Error("Service Gateway Fail:", err) | ||
62 | + return 0, err | ||
63 | + } | ||
64 | + return serviceGateway.handlerError(response) | ||
65 | +} | ||
66 | +func (serviceGateway *HttplibUCenterApiServiceGateway) ChangePassword(phone, newPwd, oldPwd string) (int, error) { | ||
67 | + url := strings.Join([]string{serviceGateway.baseURL, "users", "changePassword"}, "/") | ||
68 | + request := serviceGateway.createRequest(url, "post") | ||
69 | + request.Header("appKey", constant.UCENTER_APP_KEY) | ||
70 | + options := make(map[string]interface{}) | ||
71 | + options["phone"] = strings.TrimSpace(phone) | ||
72 | + options["newPassword"] = strings.TrimSpace(newPwd) | ||
73 | + //options["confirmPwd"] = strings.TrimSpace(confirmPwd) | ||
74 | + options["password"] = strings.TrimSpace(oldPwd) | ||
45 | request.JSONBody(options) | 75 | request.JSONBody(options) |
46 | response := make(map[string]interface{}) | 76 | response := make(map[string]interface{}) |
47 | - //data,_:=request.Bytes() | ||
48 | - //fmt.Println(string(data)) | ||
49 | err := request.ToJSON(&response) | 77 | err := request.ToJSON(&response) |
50 | if err != nil { | 78 | if err != nil { |
51 | log.Error("Service Gateway Fail:", err) | 79 | log.Error("Service Gateway Fail:", err) |
@@ -67,19 +67,19 @@ func (this *UserController) ChangePhone() { | @@ -67,19 +67,19 @@ func (this *UserController) ChangePhone() { | ||
67 | msg = m | 67 | msg = m |
68 | return | 68 | return |
69 | } | 69 | } |
70 | - if !CacheSms.IsExist(request.OldPhone) { | ||
71 | - msg = protocol.NewMesage(1009) //验证码失效 | ||
72 | - return | ||
73 | - } | ||
74 | - if v := CacheSms.Get(request.OldPhone); v != nil { | ||
75 | - if !strings.EqualFold(fmt.Sprintf("%v", v), strings.TrimSpace(request.CaptchaCertificate)) { | ||
76 | - msg = protocol.NewMesage(1012) //验证码不一致 | ||
77 | - return | ||
78 | - } | ||
79 | - } else { | ||
80 | - msg = protocol.NewMesage(1009) //验证码不一致 | ||
81 | - return | ||
82 | - } | 70 | + //if !CacheSms.IsExist(request.OldPhone) { |
71 | + // msg = protocol.NewMesage(1009) //验证码失效 | ||
72 | + // return | ||
73 | + //} | ||
74 | + //if v := CacheSms.Get(request.OldPhone); v != nil { | ||
75 | + // if !strings.EqualFold(fmt.Sprintf("%v", v), strings.TrimSpace(request.CaptchaCertificate)) { | ||
76 | + // msg = protocol.NewMesage(1012) //验证码不一致 | ||
77 | + // return | ||
78 | + // } | ||
79 | + //} else { | ||
80 | + // msg = protocol.NewMesage(1009) //验证码不一致 | ||
81 | + // return | ||
82 | + //} | ||
83 | header := this.GetRequestHeader(this.Ctx) | 83 | header := this.GetRequestHeader(this.Ctx) |
84 | data, err := user.ChangePhone(header, request) | 84 | data, err := user.ChangePhone(header, request) |
85 | if err == nil { | 85 | if err == nil { |
@@ -12,7 +12,7 @@ type PartnersRequest struct { | @@ -12,7 +12,7 @@ type PartnersRequest struct { | ||
12 | // 区域(空或不传,即所有区域) | 12 | // 区域(空或不传,即所有区域) |
13 | Districts []Districts `json:"districts"` | 13 | Districts []Districts `json:"districts"` |
14 | // 合作类型(空或不传,即所有类型) | 14 | // 合作类型(空或不传,即所有类型) |
15 | - JoinWays []int64 `json:"joinWays"` | 15 | + JoinWays []JoinWays `json:"joinWays"` |
16 | // 分红排序(0.从多到少 1.从少到多) | 16 | // 分红排序(0.从多到少 1.从少到多) |
17 | SortBy int `json:"sortBy"` | 17 | SortBy int `json:"sortBy"` |
18 | } | 18 | } |
-
请 注册 或 登录 后发表评论