作者 yangfu

修改: 用户登录修改 1.合伙人公司模块权限过滤 2.修改密码提示

@@ -402,7 +402,7 @@ func LoginV2(header *protocol.RequestHeader, request *protocol.LoginRequestV2) ( @@ -402,7 +402,7 @@ func LoginV2(header *protocol.RequestHeader, request *protocol.LoginRequestV2) (
402 } 402 }
403 switch request.IdType { 403 switch request.IdType {
404 case int(protocolx.AdminTypePartner): 404 case int(protocolx.AdminTypePartner):
405 - if p, e := PartnerInfoRepository.FindOne(map[string]interface{}{"account": claim.Phone, "companyId": request.Cid}); e == nil { 405 + if p, e := PartnerInfoRepository.FindOne(map[string]interface{}{"account": claim.Phone, "companyId": request.Cid, "deleteAtIsNull": true}); e == nil {
406 userId = p.Id 406 userId = p.Id
407 if !p.IsEnable() { 407 if !p.IsEnable() {
408 err = protocol.NewErrWithMessage(10006, err) //当前账号已被禁用 408 err = protocol.NewErrWithMessage(10006, err) //当前账号已被禁用
@@ -2,11 +2,11 @@ package constant @@ -2,11 +2,11 @@ package constant
2 2
3 import "os" 3 import "os"
4 4
5 -var POSTGRESQL_DB_NAME = "partner_test" //partner  
6 -var POSTGRESQL_USER = "postgres" //  
7 -var POSTGRESQL_PASSWORD = "eagle1010" //pgsql@123  
8 -var POSTGRESQL_HOST = "114.55.200.59" //127.0.0.1  
9 -var POSTGRESQL_PORT = "31543" //5432 5 +var POSTGRESQL_DB_NAME = "partner_dev" //partner
  6 +var POSTGRESQL_USER = "postgres" //
  7 +var POSTGRESQL_PASSWORD = "eagle1010" //pgsql@123
  8 +var POSTGRESQL_HOST = "114.55.200.59" //127.0.0.1
  9 +var POSTGRESQL_PORT = "31543" //5432
10 var DISABLE_CREATE_TABLE = false 10 var DISABLE_CREATE_TABLE = false
11 var DISABLE_SQL_GENERATE_PRINT = false 11 var DISABLE_SQL_GENERATE_PRINT = false
12 12
@@ -45,7 +45,7 @@ func errResolve(errPartner, errManager error) (err error) { @@ -45,7 +45,7 @@ func errResolve(errPartner, errManager error) (err error) {
45 } 45 }
46 if errPartner != nil && errManager != nil { 46 if errPartner != nil && errManager != nil {
47 err = errPartner 47 err = errPartner
48 - if err == errUserNotFound && errPartner != errUserNotFound { 48 + if err == errUserNotFound && errManager != errUserNotFound {
49 err = errManager 49 err = errManager
50 } 50 }
51 return 51 return
@@ -81,6 +81,8 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) { @@ -81,6 +81,8 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) {
81 companyList []*domain.Company 81 companyList []*domain.Company
82 allPartnerCategory []*domain.PartnerCategoryInfo 82 allPartnerCategory []*domain.PartnerCategoryInfo
83 BusinessBonusRepository, _ = repository.NewBusinessBonusRepository(svr.transactionContext) 83 BusinessBonusRepository, _ = repository.NewBusinessBonusRepository(svr.transactionContext)
  84 + UsersRepository, _ = repository.NewUsersRepository(svr.transactionContext)
  85 + adminApiGateway = http_gateway.NewHttplibBusinessAdminApiServiceGateway()
84 ) 86 )
85 doGetCompanyIds := func() []int64 { 87 doGetCompanyIds := func() []int64 {
86 var companies []int64 88 var companies []int64
@@ -118,6 +120,12 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) { @@ -118,6 +120,12 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) {
118 log.Error(e) 120 log.Error(e)
119 return response, e 121 return response, e
120 } 122 }
  123 + var mapCompanyAdminUsers map[int64]*domain.Users = make(map[int64]*domain.Users) //key:company_id value:domain.users
  124 + if _, adminUsers, e := UsersRepository.Find(map[string]interface{}{"inCompanyIds": doGetCompanyIds(), "adminType": 2}); e == nil {
  125 + for i := range adminUsers {
  126 + mapCompanyAdminUsers[adminUsers[i].CompanyId] = adminUsers[i]
  127 + }
  128 + }
121 var companys = make([]*Company, 0) 129 var companys = make([]*Company, 0)
122 for i := range companyList { 130 for i := range companyList {
123 c := companyList[i] 131 c := companyList[i]
@@ -131,6 +139,18 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) { @@ -131,6 +139,18 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) {
131 if partner == nil { 139 if partner == nil {
132 continue 140 continue
133 } 141 }
  142 + if au, ok := mapCompanyAdminUsers[partner.CompanyId]; ok {
  143 + if code, e := adminApiGateway.UserAuth(au.Id, constant.BUSINESS_ADMIN_PLATFORM_ID); e != nil || code != 0 {
  144 + log.Debug("【合伙人检查权限】", svr.Phone, "【公司】", c.Id, au.Id, code, e.Error())
  145 + continue
  146 + } else {
  147 + log.Debug("【合伙人检查权限】", svr.Phone, "【公司】", c.Id, au.Id, code, e)
  148 + }
  149 + } else {
  150 + log.Debug("【合伙人检查权限】", svr.Phone, "【公司】", c.Id, partner.Id, "公司管理员不存在")
  151 + continue
  152 + }
  153 +
134 bonus, _ := OrderDao.OrderBonusStatics(domain.OrderBonusQuery{PartnerId: partner.Id, OrderType: domain.OrderReal}) 154 bonus, _ := OrderDao.OrderBonusStatics(domain.OrderBonusQuery{PartnerId: partner.Id, OrderType: domain.OrderReal})
135 if v, ok := mapPartnerBussinessBonus[partner.Id]; ok { 155 if v, ok := mapPartnerBussinessBonus[partner.Id]; ok {
136 bonus.Bonus += v.Bonus 156 bonus.Bonus += v.Bonus
@@ -2,6 +2,7 @@ package repository @@ -2,6 +2,7 @@ package repository
2 2
3 import ( 3 import (
4 "fmt" 4 "fmt"
  5 + "github.com/go-pg/pg/v10"
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/pg/models" 7 "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/models"
7 "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/transaction" 8 "gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/transaction"
@@ -73,6 +74,11 @@ func (repository *UsersRepository) Find(queryOptions map[string]interface{}) (in @@ -73,6 +74,11 @@ func (repository *UsersRepository) Find(queryOptions map[string]interface{}) (in
73 SetWhere(`delete_at is null`, "deleteAtIsNull"). 74 SetWhere(`delete_at is null`, "deleteAtIsNull").
74 SetOrder("create_at", "sortByCreateTime"). 75 SetOrder("create_at", "sortByCreateTime").
75 SetOrder("update_at", "sortByUpdateTime") 76 SetOrder("update_at", "sortByUpdateTime")
  77 +
  78 + if v, ok := queryOptions["inCompanyIds"]; ok {
  79 + query.Where("company_id in (?)", pg.In(v))
  80 + }
  81 + query.SetWhere("admin_type=?", "adminType")
76 var err error 82 var err error
77 if query.AffectRow, err = query.SelectAndCount(); err != nil { 83 if query.AffectRow, err = query.SelectAndCount(); err != nil {
78 return 0, Userss, err 84 return 0, Userss, err