作者 yangfu

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

... ... @@ -402,7 +402,7 @@ func LoginV2(header *protocol.RequestHeader, request *protocol.LoginRequestV2) (
}
switch request.IdType {
case int(protocolx.AdminTypePartner):
if p, e := PartnerInfoRepository.FindOne(map[string]interface{}{"account": claim.Phone, "companyId": request.Cid}); e == nil {
if p, e := PartnerInfoRepository.FindOne(map[string]interface{}{"account": claim.Phone, "companyId": request.Cid, "deleteAtIsNull": true}); e == nil {
userId = p.Id
if !p.IsEnable() {
err = protocol.NewErrWithMessage(10006, err) //当前账号已被禁用
... ...
... ... @@ -2,7 +2,7 @@ package constant
import "os"
var POSTGRESQL_DB_NAME = "partner_test" //partner
var POSTGRESQL_DB_NAME = "partner_dev" //partner
var POSTGRESQL_USER = "postgres" //
var POSTGRESQL_PASSWORD = "eagle1010" //pgsql@123
var POSTGRESQL_HOST = "114.55.200.59" //127.0.0.1
... ...
... ... @@ -45,7 +45,7 @@ func errResolve(errPartner, errManager error) (err error) {
}
if errPartner != nil && errManager != nil {
err = errPartner
if err == errUserNotFound && errPartner != errUserNotFound {
if err == errUserNotFound && errManager != errUserNotFound {
err = errManager
}
return
... ...
... ... @@ -81,6 +81,8 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) {
companyList []*domain.Company
allPartnerCategory []*domain.PartnerCategoryInfo
BusinessBonusRepository, _ = repository.NewBusinessBonusRepository(svr.transactionContext)
UsersRepository, _ = repository.NewUsersRepository(svr.transactionContext)
adminApiGateway = http_gateway.NewHttplibBusinessAdminApiServiceGateway()
)
doGetCompanyIds := func() []int64 {
var companies []int64
... ... @@ -118,6 +120,12 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) {
log.Error(e)
return response, e
}
var mapCompanyAdminUsers map[int64]*domain.Users = make(map[int64]*domain.Users) //key:company_id value:domain.users
if _, adminUsers, e := UsersRepository.Find(map[string]interface{}{"inCompanyIds": doGetCompanyIds(), "adminType": 2}); e == nil {
for i := range adminUsers {
mapCompanyAdminUsers[adminUsers[i].CompanyId] = adminUsers[i]
}
}
var companys = make([]*Company, 0)
for i := range companyList {
c := companyList[i]
... ... @@ -131,6 +139,18 @@ func (svr *PgLoginService) PartnerStaticInfo() (interface{}, error) {
if partner == nil {
continue
}
if au, ok := mapCompanyAdminUsers[partner.CompanyId]; ok {
if code, e := adminApiGateway.UserAuth(au.Id, constant.BUSINESS_ADMIN_PLATFORM_ID); e != nil || code != 0 {
log.Debug("【合伙人检查权限】", svr.Phone, "【公司】", c.Id, au.Id, code, e.Error())
continue
} else {
log.Debug("【合伙人检查权限】", svr.Phone, "【公司】", c.Id, au.Id, code, e)
}
} else {
log.Debug("【合伙人检查权限】", svr.Phone, "【公司】", c.Id, partner.Id, "公司管理员不存在")
continue
}
bonus, _ := OrderDao.OrderBonusStatics(domain.OrderBonusQuery{PartnerId: partner.Id, OrderType: domain.OrderReal})
if v, ok := mapPartnerBussinessBonus[partner.Id]; ok {
bonus.Bonus += v.Bonus
... ...
... ... @@ -2,6 +2,7 @@ package repository
import (
"fmt"
"github.com/go-pg/pg/v10"
"gitlab.fjmaimaimai.com/mmm-go/partner/pkg/domain"
"gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/models"
"gitlab.fjmaimaimai.com/mmm-go/partner/pkg/infrastructure/pg/transaction"
... ... @@ -73,6 +74,11 @@ func (repository *UsersRepository) Find(queryOptions map[string]interface{}) (in
SetWhere(`delete_at is null`, "deleteAtIsNull").
SetOrder("create_at", "sortByCreateTime").
SetOrder("update_at", "sortByUpdateTime")
if v, ok := queryOptions["inCompanyIds"]; ok {
query.Where("company_id in (?)", pg.In(v))
}
query.SetWhere("admin_type=?", "adminType")
var err error
if query.AffectRow, err = query.SelectAndCount(); err != nil {
return 0, Userss, err
... ...