|
@@ -5,17 +5,17 @@ import (
|
|
|
"strings"
|
|
|
|
|
|
. "app.yhyue.com/moapp/jybase/common"
|
|
|
- "bp.jydev.jianyu360.cn/BaseService/userCenter/entity"
|
|
|
+ . "app.yhyue.com/moapp/jybase/mysql"
|
|
|
. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
|
|
|
)
|
|
|
|
|
|
//获取用户可切换的身份列表
|
|
|
-func IdentityList(userId int64) []*Identity {
|
|
|
+func IdentityList(msl *Mysql, userId int64) []*Identity {
|
|
|
result := []*Identity{}
|
|
|
- list := entity.BaseMysql.SelectBySql(`SELECT DISTINCT a.id as position_id,c.person_id,a.person_name,a.account_id,a.type as position_type,a.ent_id,b.id as ent_account_id,d.phone from base_user d
|
|
|
- inner join base_position a on (d.id=? and d.id=a.user_id)
|
|
|
- inner join base_account c on (a.account_id=c.id)
|
|
|
- left join base_account b on (b.type=1 and b.person_id=0 and b.ent_id<>0 and c.ent_id=b.ent_id) order by a.id desc`, userId)
|
|
|
+ list := msl.SelectBySql(`SELECT DISTINCT a.id as position_id,c.person_id,a.person_name,a.account_id,a.type as position_type,a.ent_id,b.id as ent_account_id,d.phone from base_service.base_user d
|
|
|
+ inner join base_service.base_position a on (d.id=? and d.id=a.user_id)
|
|
|
+ inner join base_service.base_account c on (a.account_id=c.id)
|
|
|
+ left join base_service.base_account b on (b.type=1 and b.person_id=0 and b.ent_id<>0 and c.ent_id=b.ent_id) order by a.id desc`, userId)
|
|
|
if list != nil {
|
|
|
m := map[int64]*Identity{}
|
|
|
entIds := []string{}
|
|
@@ -43,7 +43,7 @@ func IdentityList(userId int64) []*Identity {
|
|
|
}
|
|
|
}
|
|
|
if len(entIds) > 0 {
|
|
|
- ents := entity.Mysql.SelectBySql(`SELECT a.id,a.name,a.ent_id,a.niche_dis,b.name as ent_name,c.role_id,d.dept_id from entniche_user a inner join entniche_info b on (a.phone=? and b.id in (`+strings.Join(entIds, ",")+`) and a.ent_id=b.id) left join entniche_user_role c on (a.id=c.user_id) LEFT JOIN entniche_department_user d ON(d.user_id =a.id ) order by b.createtime`, phone)
|
|
|
+ ents := msl.SelectBySql(`SELECT a.id,a.name,a.ent_id,a.niche_dis,b.name as ent_name,c.role_id,d.dept_id from jianyu.entniche_user a inner join jianyu.entniche_info b on (a.phone=? and b.id in (`+strings.Join(entIds, ",")+`) and a.ent_id=b.id) left join jianyu.entniche_user_role c on (a.id=c.user_id) LEFT JOIN jianyu.entniche_department_user d ON (d.user_id=a.id) order by b.createtime`, phone)
|
|
|
if ents != nil {
|
|
|
for _, v := range *ents {
|
|
|
i := m[Int64All(v["ent_id"])]
|
|
@@ -65,10 +65,10 @@ func IdentityList(userId int64) []*Identity {
|
|
|
}
|
|
|
|
|
|
//根据账号id获取个人身份信息
|
|
|
-func IdentityByUserId(userId int64) *Identity {
|
|
|
- list := entity.BaseMysql.SelectBySql(`SELECT a.account_id,a.id as position_id,c.person_id,a.person_name,a.type as position_type from base_user d
|
|
|
- inner join base_position a on (d.id=? and a.type=0 and d.id=a.user_id)
|
|
|
- inner join base_account c on (c.type=0 and a.account_id=c.id) order by a.id desc limit 1`, userId)
|
|
|
+func IdentityByUserId(msl *Mysql, userId int64) *Identity {
|
|
|
+ list := msl.SelectBySql(`SELECT a.account_id,a.id as position_id,c.person_id,a.person_name,a.type as position_type from base_service.base_user d
|
|
|
+ inner join base_service.base_position a on (d.id=? and a.type=0 and d.id=a.user_id)
|
|
|
+ inner join base_service.base_account c on (c.type=0 and a.account_id=c.id) order by a.id desc limit 1`, userId)
|
|
|
if list != nil && len(*list) > 0 {
|
|
|
return &Identity{
|
|
|
PersonId: Int64All((*list)[0]["person_id"]),
|
|
@@ -83,11 +83,11 @@ func IdentityByUserId(userId int64) *Identity {
|
|
|
}
|
|
|
|
|
|
//根据职位id获取身份信息
|
|
|
-func IdentityByPositionId(positionId int64) *Identity {
|
|
|
- list := entity.BaseMysql.SelectBySql(`SELECT a.id as position_id,c.person_id,a.person_name,a.account_id,a.type as position_type,a.ent_id,b.phone,b.id as user_id,d.id as ent_account_id from base_position a
|
|
|
- inner join base_user b on (a.user_id=b.id)
|
|
|
- inner join base_account c on (a.id=? and a.account_id=c.id)
|
|
|
- left join base_account d on (d.type=1 and d.person_id=0 and d.ent_id<>0 and d.ent_id=a.ent_id) limit 1`, positionId)
|
|
|
+func IdentityByPositionId(msl *Mysql, positionId int64) *Identity {
|
|
|
+ list := msl.SelectBySql(`SELECT a.id as position_id,c.person_id,a.person_name,a.account_id,a.type as position_type,a.ent_id,b.phone,b.id as user_id,d.id as ent_account_id from base_service.base_position a
|
|
|
+ inner join base_service.base_user b on (a.user_id=b.id)
|
|
|
+ inner join base_service.base_account c on (a.id=? and a.account_id=c.id)
|
|
|
+ left join base_service.base_account d on (d.type=1 and d.person_id=0 and d.ent_id<>0 and d.ent_id=a.ent_id) limit 1`, positionId)
|
|
|
if list != nil && len(*list) == 1 {
|
|
|
identity := &Identity{
|
|
|
EntId: Int64All((*list)[0]["ent_id"]),
|
|
@@ -104,7 +104,7 @@ func IdentityByPositionId(positionId int64) *Identity {
|
|
|
}
|
|
|
phone := ObjToString((*list)[0]["phone"])
|
|
|
if identity.EntId > 0 {
|
|
|
- ents := entity.Mysql.SelectBySql(`SELECT a.id,a.name,a.ent_id,a.niche_dis,b.name as ent_name,c.role_id,d.dept_id from entniche_user a inner join entniche_info b on (a.phone=? and b.id=? and a.ent_id=b.id) left join entniche_user_role c on (a.id=c.user_id) LEFT JOIN entniche_department_user d ON(d.user_id =a.id ) limit 1`, phone, identity.EntId)
|
|
|
+ ents := msl.SelectBySql(`SELECT a.id,a.name,a.ent_id,a.niche_dis,b.name as ent_name,c.role_id,d.dept_id from jianyu.entniche_user a inner join jianyu.entniche_info b on (a.phone=? and b.id=? and a.ent_id=b.id) left join jianyu.entniche_user_role c on (a.id=c.user_id) LEFT JOIN jianyu.entniche_department_user d ON (d.user_id=a.id) limit 1`, phone, identity.EntId)
|
|
|
if ents != nil && len(*ents) > 0 {
|
|
|
identity.EntUserId = Int64All((*ents)[0]["id"])
|
|
|
identity.EntUserName = ObjToString((*ents)[0]["name"])
|
|
@@ -120,16 +120,16 @@ func IdentityByPositionId(positionId int64) *Identity {
|
|
|
}
|
|
|
|
|
|
//根据企业员工id获取身份信息
|
|
|
-func IdentityByEntUserId(entUserId int64) *Identity {
|
|
|
- ents := entity.Mysql.SelectBySql(`SELECT a.id,a.name,a.phone,a.ent_id,a.niche_dis,b.name as ent_name,c.role_id,d.dept_id from entniche_user a inner join entniche_info b on (a.id=? and a.ent_id=b.id) left join entniche_user_role c on (a.id=c.user_id) LEFT JOIN entniche_department_user d ON(d.user_id =a.id ) limit 1`, entUserId)
|
|
|
+func IdentityByEntUserId(msl *Mysql, entUserId int64) *Identity {
|
|
|
+ ents := msl.SelectBySql(`SELECT a.id,a.name,a.phone,a.ent_id,a.niche_dis,b.name as ent_name,c.role_id,d.dept_id from jianyu.entniche_user a inner join jianyu.entniche_info b on (a.id=? and a.ent_id=b.id) left join jianyu.entniche_user_role c on (a.id=c.user_id) LEFT JOIN jianyu.entniche_department_user d ON (d.user_id=a.id) limit 1`, entUserId)
|
|
|
if ents == nil || len(*ents) == 0 {
|
|
|
return nil
|
|
|
}
|
|
|
if entId := Int64All((*ents)[0]["ent_id"]); entId > 0 {
|
|
|
- list := entity.BaseMysql.SelectBySql(`SELECT a.id as position_id,c.person_id,a.person_name,a.account_id,a.type as position_type,d.id as user_id,b.id as ent_account_id from base_user d
|
|
|
- inner join base_position a on (d.phone=? and a.ent_id=? and a.type=1 and d.id=a.user_id)
|
|
|
- inner join base_account c on (c.ent_id=? and c.type=1 and a.account_id=c.id)
|
|
|
- inner join base_account b on (b.type=1 and b.person_id=0 and b.ent_id=?) order by a.id desc limit 1`, ObjToString((*ents)[0]["phone"]), entId, entId, entId)
|
|
|
+ list := msl.SelectBySql(`SELECT a.id as position_id,c.person_id,a.person_name,a.account_id,a.type as position_type,d.id as user_id,b.id as ent_account_id from base_service.base_user d
|
|
|
+ inner join base_service.base_position a on (d.phone=? and a.ent_id=? and a.type=1 and d.id=a.user_id)
|
|
|
+ inner join base_service.base_account c on (c.ent_id=? and c.type=1 and a.account_id=c.id)
|
|
|
+ inner join base_service.base_account b on (b.type=1 and b.person_id=0 and b.ent_id=?) order by a.id desc limit 1`, ObjToString((*ents)[0]["phone"]), entId, entId, entId)
|
|
|
if list != nil && len(*list) > 0 {
|
|
|
identity := &Identity{
|
|
|
PersonId: Int64All((*list)[0]["person_id"]),
|
|
@@ -154,8 +154,8 @@ func IdentityByEntUserId(entUserId int64) *Identity {
|
|
|
}
|
|
|
|
|
|
//根据企业id获取身份信息
|
|
|
-func IdentityByEntId(entId int64) *Identity {
|
|
|
- list := entity.BaseMysql.SelectBySql(`select id from base_account where ent_id=? and type=1 and person_id=0 limit 1`, entId)
|
|
|
+func IdentityByEntId(msl *Mysql, entId int64) *Identity {
|
|
|
+ list := msl.SelectBySql(`select id from base_service.base_account where ent_id=? and type=1 and person_id=0 limit 1`, entId)
|
|
|
if list == nil || len(*list) == 0 {
|
|
|
return nil
|
|
|
}
|