作者 陈志颖

fix:公司列表

... ... @@ -525,22 +525,20 @@ func CompaniesLoginByCredential(header *protocol.RequestHeader, request *protoco
// loginSvr 初始化
_ = loginSvr.Init(claim.Phone)
// 高管标志位初始化
_ = loginSvr.InitSenior(claim.Phone)
// 合伙人标志位初始化
_ = loginSvr.InitPartner(claim.Phone)
if len(loginSvr.PartnerInfo) == 0 && len(loginSvr.Users) == 0 {
err = protocol.NewErrWithMessage(4104)
return
}
// 真实公司有效合伙人不存在,真实公司有效用户不存在,游客公司有效合伙人存在
//if len(loginSvr.IsRealPartnerInfo) == 0 && len(loginSvr.IsRealUser) == 0 && len(loginSvr.GuestPartnerInfoAvailable) > 0 {
// err = protocol.NewErrWithMessage(10008) //账号禁用, 抱歉,企业管理员未帮您开通权限。如需访问,请联系企业管理员
// return
//} else if len(loginSvr.IsRealPartnerInfo) == 0 && len(loginSvr.IsRealUser) == 0 && len(loginSvr.GuestPartnerInfoAvailable) == 0 {
// err = protocol.NewErrWithMessage(4140, err) // refreshToken过期,需要重新登录授权
// return
//}
rsp.Partner, _ = loginSvr.PartnerStaticInfo()
rsp.Manager, _ = loginSvr.ManagerStaticInfo()
if !loginSvr.HasAvailableCompany && !loginSvr.HasAvailableManagerCompany {
err = protocol.NewErrWithMessage(4140, err) //账号禁用
err = protocol.NewErrWithMessage(4140, err) //账号禁用,refreshToken过期,需要重新登录授权
return
}
... ...
... ... @@ -25,11 +25,12 @@ type PgLoginService struct {
GuestPartnerInfo []*domain.PartnerInfo // 游客公司合伙人
GuestPartnerInfoAvailable []*domain.PartnerInfo // 游客公司有效合伙人
NormalPartnerInfo []*domain.PartnerInfo // 所有公司合伙人
IsPartnerInfo []*domain.PartnerInfo // 真实公司有效合伙人
IsRealPartnerInfo []*domain.PartnerInfo // 真实公司有效合伙人
Users []*domain.Users // 所有公司有效用户
NormalUsers []*domain.Users // 所有公司用户
IsSenior []*domain.Users // 所有公司有效高管
IsRealSenior []*domain.Users // 真实公司的有效高管
IsRealUser []*domain.Users // 真实公司有效用户,有效高管和有效用户二者其中一个为空则非高管
transactionContext *transaction.TransactionContext
// 标识:登录的账号信息是否有可用的公司, true:有 false:没有
HasAvailableCompany bool // 是否有可访问的合伙公司
... ... @@ -49,7 +50,7 @@ func (svr *PgLoginService) Init(phone string) (err error) {
// 所有公司有效合伙人
_, svr.PartnerInfo, err = PartnerInfoService.Find(map[string]interface{}{"account": phone, "status": 1, "sortByCreateTime": "ASC"})
// 真实公司有效合伙人
_, svr.IsPartnerInfo, err = PartnerInfoService.Find(map[string]interface{}{"account": phone, "status": 1, "sortByCreateTime": "ASC", "isNot": constant.DEFAULT_GUEST_COMPANY})
_, svr.IsRealPartnerInfo, err = PartnerInfoService.Find(map[string]interface{}{"account": phone, "status": 1, "sortByCreateTime": "ASC", "isNot": constant.DEFAULT_GUEST_COMPANY})
// 游客公司合伙人
_, svr.GuestPartnerInfo, err = PartnerInfoService.Find(map[string]interface{}{"account": phone, "sortByCreateTime": "ASC", "companyId": constant.DEFAULT_GUEST_COMPANY})
// 游客公司有效合伙人
... ... @@ -63,6 +64,8 @@ func (svr *PgLoginService) Init(phone string) (err error) {
_, svr.IsSenior, err = UsersRepository.Find(map[string]interface{}{"phone": phone, "status": 1, "sortByCreateTime": "ASC", "deleteAtIsNull": true, "isSenior": 1})
// 真实公司有效高管
_, svr.IsRealSenior, err = UsersRepository.Find(map[string]interface{}{"phone": phone, "status": 1, "sortByCreateTime": "ASC", "deleteAtIsNull": true, "isSenior": 1, "isNot": constant.DEFAULT_GUEST_COMPANY})
// 真实公司有效用户
_, svr.IsRealUser, err = UsersRepository.Find(map[string]interface{}{"phone": phone, "status": 1, "sortByCreateTime": "ASC", "deleteAtIsNull": true, "isNot": constant.DEFAULT_GUEST_COMPANY})
return nil
}
... ... @@ -98,7 +101,7 @@ func (svr *PgLoginService) InitPartner(phone string) (err error) {
svr.Phone = phone
_, svr.IsPartnerInfo, err = PartnerInfoService.Find(map[string]interface{}{"account": phone, "status": 1, "sortByCreateTime": "ASC", "isNot": constant.DEFAULT_GUEST_COMPANY})
_, svr.IsRealPartnerInfo, err = PartnerInfoService.Find(map[string]interface{}{"account": phone, "status": 1, "sortByCreateTime": "ASC", "isNot": constant.DEFAULT_GUEST_COMPANY})
return nil
}
... ... @@ -359,7 +362,7 @@ func (svr *PgLoginService) ManagerStaticInfo() (interface{}, error) {
svr.HasAvailableManagerCompany = true
}
if len(companys) > 1 || len(svr.IsPartnerInfo) > 0 { // 有真实合伙公司或高管公司时,过滤游客公司
if len(companys) > 1 || len(svr.IsRealPartnerInfo) > 0 { // 有真实合伙公司或高管公司时,过滤游客公司
var companies = make([]protocol.CompanyBase, 0)
for _, company := range companys {
if company.Id != int64(constant.DEFAULT_GUEST_COMPANY) {
... ...