正在显示
7 个修改的文件
包含
37 行增加
和
33 行删除
| @@ -90,6 +90,7 @@ func GetRequestHeader(ctx *context.Context) *protocol.RequestHeader { | @@ -90,6 +90,7 @@ func GetRequestHeader(ctx *context.Context) *protocol.RequestHeader { | ||
| 90 | h.Uid, _ = strconv.ParseInt(ctx.Input.Header("x-mmm-uid"), 10, 64) | 90 | h.Uid, _ = strconv.ParseInt(ctx.Input.Header("x-mmm-uid"), 10, 64) |
| 91 | } | 91 | } |
| 92 | h.CompanyId, _ = strconv.ParseInt(ctx.Input.Header("x-mmm-cid"), 10, 64) | 92 | h.CompanyId, _ = strconv.ParseInt(ctx.Input.Header("x-mmm-cid"), 10, 64) |
| 93 | + h.UserId, _ = strconv.ParseInt(ctx.Input.Header("x-mmm-id"), 10, 64) | ||
| 93 | log.Debug(common.AssertJson(h)) | 94 | log.Debug(common.AssertJson(h)) |
| 94 | return h | 95 | return h |
| 95 | } | 96 | } |
| @@ -103,7 +104,7 @@ func FilterComm(ctx *context.Context) { | @@ -103,7 +104,7 @@ func FilterComm(ctx *context.Context) { | ||
| 103 | //统计 | 104 | //统计 |
| 104 | MetricCounter(ctx) | 105 | MetricCounter(ctx) |
| 105 | 106 | ||
| 106 | - if beego.BConfig.RunMode == "dev" && (ctx.Input.Header("x-mmm-uid")!="" || ctx.Input.Header("uid")!=""){ | 107 | + if beego.BConfig.RunMode == "dev" && (ctx.Input.Header("x-mmm-uid") != "" || ctx.Input.Header("uid") != "") { |
| 107 | return | 108 | return |
| 108 | } | 109 | } |
| 109 | //1.检查签名 | 110 | //1.检查签名 |
| @@ -160,7 +161,7 @@ func CheckToken(ctx *context.Context) (result bool) { | @@ -160,7 +161,7 @@ func CheckToken(ctx *context.Context) (result bool) { | ||
| 160 | msg *protocol.ResponseMessage | 161 | msg *protocol.ResponseMessage |
| 161 | ) | 162 | ) |
| 162 | token := ctx.Input.Header("x-mmm-accesstoken") | 163 | token := ctx.Input.Header("x-mmm-accesstoken") |
| 163 | - if token==""{ | 164 | + if token == "" { |
| 164 | if strings.HasSuffix(ctx.Request.RequestURI, "login") || | 165 | if strings.HasSuffix(ctx.Request.RequestURI, "login") || |
| 165 | strings.HasSuffix(ctx.Request.RequestURI, "accessToken") || | 166 | strings.HasSuffix(ctx.Request.RequestURI, "accessToken") || |
| 166 | strings.HasSuffix(ctx.Request.RequestURI, "refreshToken") { | 167 | strings.HasSuffix(ctx.Request.RequestURI, "refreshToken") { |
| @@ -183,6 +184,7 @@ func CheckToken(ctx *context.Context) (result bool) { | @@ -183,6 +184,7 @@ func CheckToken(ctx *context.Context) (result bool) { | ||
| 183 | //设置附加数据 | 184 | //设置附加数据 |
| 184 | ctx.Request.Header.Add("x-mmm-uid", fmt.Sprintf("%v", rsp.UserInfo.UserId)) | 185 | ctx.Request.Header.Add("x-mmm-uid", fmt.Sprintf("%v", rsp.UserInfo.UserId)) |
| 185 | ctx.Request.Header.Add("x-mmm-cid", fmt.Sprintf("%v", rsp.UserInfo.CurrentCompanyId)) | 186 | ctx.Request.Header.Add("x-mmm-cid", fmt.Sprintf("%v", rsp.UserInfo.CurrentCompanyId)) |
| 187 | + ctx.Request.Header.Add("x-mmm-id", fmt.Sprintf("%v", rsp.UserInfo.CurrentUserCompanyId)) | ||
| 186 | } | 188 | } |
| 187 | } | 189 | } |
| 188 | return | 190 | return |
| @@ -25,6 +25,7 @@ type UserAuth struct { | @@ -25,6 +25,7 @@ type UserAuth struct { | ||
| 25 | CreateAt time.Time `orm:"column(create_at);type(timestamp)" description:"创建时间"` | 25 | CreateAt time.Time `orm:"column(create_at);type(timestamp)" description:"创建时间"` |
| 26 | UpdateAt time.Time `orm:"column(update_at);type(timestamp)" description:"更新时间"` | 26 | UpdateAt time.Time `orm:"column(update_at);type(timestamp)" description:"更新时间"` |
| 27 | CurrentCompanyId int64 `orm:"column(current_company_id)" description:"当前登录的公司id "` | 27 | CurrentCompanyId int64 `orm:"column(current_company_id)" description:"当前登录的公司id "` |
| 28 | + CurrentUserCompanyId int64 `orm:"column(current_user_company_id)" description:"当前登录的公司 user_company.id "` | ||
| 28 | } | 29 | } |
| 29 | 30 | ||
| 30 | func (t *UserAuth) TableName() string { | 31 | func (t *UserAuth) TableName() string { |
| @@ -180,10 +181,10 @@ func GetUserAuthByRefreshToken(refreshToken string) (v *UserAuth, err error) { | @@ -180,10 +181,10 @@ func GetUserAuthByRefreshToken(refreshToken string) (v *UserAuth, err error) { | ||
| 180 | return nil, err | 181 | return nil, err |
| 181 | } | 182 | } |
| 182 | 183 | ||
| 183 | -func GetUserAuthByToken(refreshToken string) (v *UserAuth, err error) { | 184 | +func GetUserAuthByToken(token string) (v *UserAuth, err error) { |
| 184 | o := orm.NewOrm() | 185 | o := orm.NewOrm() |
| 185 | sql := "select * from user_auth where access_token=? and access_token_exp >= Now()" | 186 | sql := "select * from user_auth where access_token=? and access_token_exp >= Now()" |
| 186 | - if err = o.Raw(sql, refreshToken).QueryRow(&v); err == nil { | 187 | + if err = o.Raw(sql, token).QueryRow(&v); err == nil { |
| 187 | return v, nil | 188 | return v, nil |
| 188 | } | 189 | } |
| 189 | return nil, err | 190 | return nil, err |
| @@ -8,7 +8,7 @@ import ( | @@ -8,7 +8,7 @@ import ( | ||
| 8 | ) | 8 | ) |
| 9 | 9 | ||
| 10 | type UserCompany struct { | 10 | type UserCompany struct { |
| 11 | - Id int `orm:"column(id);auto" description:"唯一标识"` | 11 | + Id int64 `orm:"column(id)" description:"唯一标识"` |
| 12 | CompanyId int64 `orm:"column(company_id)" description:"表company.id 公司编号"` | 12 | CompanyId int64 `orm:"column(company_id)" description:"表company.id 公司编号"` |
| 13 | UserId int64 `orm:"column(user_id)" description:"表user.id 用户编号"` | 13 | UserId int64 `orm:"column(user_id)" description:"表user.id 用户编号"` |
| 14 | DepartmentId int `orm:"column(department_id)" description:"部门id"` | 14 | DepartmentId int `orm:"column(department_id)" description:"部门id"` |
| @@ -37,7 +37,7 @@ func AddUserCompany(m *UserCompany) (id int64, err error) { | @@ -37,7 +37,7 @@ func AddUserCompany(m *UserCompany) (id int64, err error) { | ||
| 37 | 37 | ||
| 38 | // GetUserCompanyById retrieves UserCompany by Id. Returns error if | 38 | // GetUserCompanyById retrieves UserCompany by Id. Returns error if |
| 39 | // Id doesn't exist | 39 | // Id doesn't exist |
| 40 | -func GetUserCompanyById(id int) (v *UserCompany, err error) { | 40 | +func GetUserCompanyById(id int64) (v *UserCompany, err error) { |
| 41 | o := orm.NewOrm() | 41 | o := orm.NewOrm() |
| 42 | v = &UserCompany{Id: id} | 42 | v = &UserCompany{Id: id} |
| 43 | if err = o.Read(v); err == nil { | 43 | if err = o.Read(v); err == nil { |
| @@ -63,7 +63,7 @@ func UpdateUserCompanyById(m *UserCompany) (err error) { | @@ -63,7 +63,7 @@ func UpdateUserCompanyById(m *UserCompany) (err error) { | ||
| 63 | 63 | ||
| 64 | // DeleteUserCompany deletes UserCompany by Id and returns error if | 64 | // DeleteUserCompany deletes UserCompany by Id and returns error if |
| 65 | // the record to be deleted doesn't exist | 65 | // the record to be deleted doesn't exist |
| 66 | -func DeleteUserCompany(id int) (err error) { | 66 | +func DeleteUserCompany(id int64) (err error) { |
| 67 | o := orm.NewOrm() | 67 | o := orm.NewOrm() |
| 68 | v := UserCompany{Id: id} | 68 | v := UserCompany{Id: id} |
| 69 | // ascertain id exists in the database | 69 | // ascertain id exists in the database |
| @@ -7,8 +7,8 @@ const ( | @@ -7,8 +7,8 @@ const ( | ||
| 7 | LoginTypeSmdcode = "signInCaptcha" | 7 | LoginTypeSmdcode = "signInCaptcha" |
| 8 | ) | 8 | ) |
| 9 | 9 | ||
| 10 | -const( | ||
| 11 | - DeviceType =1 | 10 | +const ( |
| 11 | + DeviceType = 1 | ||
| 12 | ) | 12 | ) |
| 13 | 13 | ||
| 14 | const TokenExpire = 3600 | 14 | const TokenExpire = 3600 |
| @@ -24,8 +24,9 @@ type RequestHeader struct { | @@ -24,8 +24,9 @@ type RequestHeader struct { | ||
| 24 | DeviceType int | 24 | DeviceType int |
| 25 | AppProject string | 25 | AppProject string |
| 26 | AccessToken string | 26 | AccessToken string |
| 27 | - Uid int64 | 27 | + Uid int64 //用户基本信息Id |
| 28 | CompanyId int64 | 28 | CompanyId int64 |
| 29 | + UserId int64 //UserId 唯一标识,唯一关联所有用户信息(=user_company.id) | ||
| 29 | } | 30 | } |
| 30 | 31 | ||
| 31 | /*Login */ | 32 | /*Login */ |
| @@ -15,18 +15,18 @@ import ( | @@ -15,18 +15,18 @@ import ( | ||
| 15 | func GetUserBaseInfoAggregation(uid int64, companyId int64) (v *protocol.UserBaseInfoAggregation, err error) { | 15 | func GetUserBaseInfoAggregation(uid int64, companyId int64) (v *protocol.UserBaseInfoAggregation, err error) { |
| 16 | v = &protocol.UserBaseInfoAggregation{} | 16 | v = &protocol.UserBaseInfoAggregation{} |
| 17 | var wg sync.WaitGroup | 17 | var wg sync.WaitGroup |
| 18 | - if v.User, err = repository.User.GetUsersById(uid); err != nil { | 18 | + if v.UserCompany, err = models.GetUserCompanyByUserId(uid, companyId); err != nil { |
| 19 | log.Error(err) | 19 | log.Error(err) |
| 20 | return | 20 | return |
| 21 | } | 21 | } |
| 22 | - if v.UserCompany, err = repository.UserCompany.GetUserCompanyByUserId(uid, companyId); err != nil { | 22 | + if v.User, err = models.GetUsersById(v.UserCompany.UserId); err != nil { |
| 23 | log.Error(err) | 23 | log.Error(err) |
| 24 | return | 24 | return |
| 25 | } | 25 | } |
| 26 | wg.Add(3) | 26 | wg.Add(3) |
| 27 | go func() { | 27 | go func() { |
| 28 | defer wg.Done() | 28 | defer wg.Done() |
| 29 | - if v.Company, err = repository.Company.GetCompanyById(int64(v.UserCompany.CompanyId)); err != nil { | 29 | + if v.Company, err = models.GetCompanyById(int64(v.UserCompany.CompanyId)); err != nil { |
| 30 | log.Error(err) | 30 | log.Error(err) |
| 31 | return | 31 | return |
| 32 | } | 32 | } |
| @@ -34,7 +34,7 @@ func GetUserBaseInfoAggregation(uid int64, companyId int64) (v *protocol.UserBas | @@ -34,7 +34,7 @@ func GetUserBaseInfoAggregation(uid int64, companyId int64) (v *protocol.UserBas | ||
| 34 | 34 | ||
| 35 | go func() { | 35 | go func() { |
| 36 | defer wg.Done() | 36 | defer wg.Done() |
| 37 | - if err = repository.UserDepartment.GetUserDepartment(uid, companyId, &v.Department); err != nil { | 37 | + if err = models.GetUserDepartments(uid, companyId, &v.Department); err != nil { |
| 38 | log.Error(err) | 38 | log.Error(err) |
| 39 | return | 39 | return |
| 40 | } | 40 | } |
| @@ -42,7 +42,7 @@ func GetUserBaseInfoAggregation(uid int64, companyId int64) (v *protocol.UserBas | @@ -42,7 +42,7 @@ func GetUserBaseInfoAggregation(uid int64, companyId int64) (v *protocol.UserBas | ||
| 42 | 42 | ||
| 43 | go func() { | 43 | go func() { |
| 44 | defer wg.Done() | 44 | defer wg.Done() |
| 45 | - if err = repository.UserPosition.GetUserPositions(uid, companyId, &v.Position); err != nil { | 45 | + if err = models.GetUserPositions(uid, companyId, &v.Position); err != nil { |
| 46 | log.Error(err) | 46 | log.Error(err) |
| 47 | return | 47 | return |
| 48 | } | 48 | } |
| @@ -41,7 +41,7 @@ func IComment(header *protocol.RequestHeader, request *protocol.ICommentRequest) | @@ -41,7 +41,7 @@ func IComment(header *protocol.RequestHeader, request *protocol.ICommentRequest) | ||
| 41 | } | 41 | } |
| 42 | newComment := &models.Comment{ | 42 | newComment := &models.Comment{ |
| 43 | Id: idgen.Next(), | 43 | Id: idgen.Next(), |
| 44 | - UserId: header.Uid, | 44 | + UserId: header.UserId, |
| 45 | SourceType: int8(request.SourceType), | 45 | SourceType: int8(request.SourceType), |
| 46 | Content: request.Content, | 46 | Content: request.Content, |
| 47 | CreateAt: time.Now(), | 47 | CreateAt: time.Now(), |
| @@ -74,7 +74,7 @@ func IComments(header *protocol.RequestHeader, request *protocol.ICommentsReques | @@ -74,7 +74,7 @@ func IComments(header *protocol.RequestHeader, request *protocol.ICommentsReques | ||
| 74 | baseUserInfo *protocol.BaseUserInfo | 74 | baseUserInfo *protocol.BaseUserInfo |
| 75 | total int | 75 | total int |
| 76 | ) | 76 | ) |
| 77 | - if comments, total, err = repository.Comment.GetComments(header.Uid, protocol.SourceType_Chance, 0, request.LastId, request.PageSize); err != nil { | 77 | + if comments, total, err = repository.Comment.GetComments(header.UserId, protocol.SourceType_Chance, 0, request.LastId, request.PageSize); err != nil { |
| 78 | log.Error(err) | 78 | log.Error(err) |
| 79 | return | 79 | return |
| 80 | } | 80 | } |
| @@ -112,7 +112,7 @@ func Comments(header *protocol.RequestHeader, request *protocol.CommentsRequest) | @@ -112,7 +112,7 @@ func Comments(header *protocol.RequestHeader, request *protocol.CommentsRequest) | ||
| 112 | total int | 112 | total int |
| 113 | exists bool | 113 | exists bool |
| 114 | ) | 114 | ) |
| 115 | - if comments, total, err = repository.Comment.GetComments(header.Uid, request.SourceType, request.SourceId, request.LastId, request.PageSize); err != nil { | 115 | + if comments, total, err = repository.Comment.GetComments(header.UserId, request.SourceType, request.SourceId, request.LastId, request.PageSize); err != nil { |
| 116 | log.Error(err) | 116 | log.Error(err) |
| 117 | return | 117 | return |
| 118 | } | 118 | } |
| @@ -134,7 +134,7 @@ func Comments(header *protocol.RequestHeader, request *protocol.CommentsRequest) | @@ -134,7 +134,7 @@ func Comments(header *protocol.RequestHeader, request *protocol.CommentsRequest) | ||
| 134 | ZanTotal: comment.ZanTotal, | 134 | ZanTotal: comment.ZanTotal, |
| 135 | CommentTotal: comment.CommentTotal, | 135 | CommentTotal: comment.CommentTotal, |
| 136 | } | 136 | } |
| 137 | - if exists, _ = repository.ChanceFavorite.ExitsChanceFavorite(header.Uid, header.CompanyId, comment.Id, protocol.MarkFlag_Zan); exists { | 137 | + if exists, _ = repository.ChanceFavorite.ExitsChanceFavorite(header.UserId, header.CompanyId, comment.Id, protocol.MarkFlag_Zan); exists { |
| 138 | item.IsZan = 1 | 138 | item.IsZan = 1 |
| 139 | } | 139 | } |
| 140 | rsp.Comments = append(rsp.Comments, item) | 140 | rsp.Comments = append(rsp.Comments, item) |
| @@ -167,7 +167,7 @@ func CommentDetailsSingle(header *protocol.RequestHeader, request *protocol.Comm | @@ -167,7 +167,7 @@ func CommentDetailsSingle(header *protocol.RequestHeader, request *protocol.Comm | ||
| 167 | ZanTotal: comment.ZanTotal, | 167 | ZanTotal: comment.ZanTotal, |
| 168 | CommentTotal: comment.CommentTotal, | 168 | CommentTotal: comment.CommentTotal, |
| 169 | } | 169 | } |
| 170 | - if exists, _ = repository.ChanceFavorite.ExitsChanceFavorite(header.Uid, header.CompanyId, comment.Id, protocol.MarkFlag_Zan); exists { | 170 | + if exists, _ = repository.ChanceFavorite.ExitsChanceFavorite(header.UserId, header.CompanyId, comment.Id, protocol.MarkFlag_Zan); exists { |
| 171 | rsp.Comment.IsZan = 1 | 171 | rsp.Comment.IsZan = 1 |
| 172 | } | 172 | } |
| 173 | return | 173 | return |
| @@ -183,15 +183,15 @@ func UserCompanys(header *protocol.RequestHeader, request *protocol.UserCompanys | @@ -183,15 +183,15 @@ func UserCompanys(header *protocol.RequestHeader, request *protocol.UserCompanys | ||
| 183 | companys []*models.Company | 183 | companys []*models.Company |
| 184 | ) | 184 | ) |
| 185 | rsp = &protocol.UserCompanysResponse{} | 185 | rsp = &protocol.UserCompanysResponse{} |
| 186 | - if companys,err =models.GetCompanyByPermission(header.Uid);err!=nil{ | 186 | + if companys, err = models.GetCompanyByPermission(header.Uid); err != nil { |
| 187 | log.Error(err) | 187 | log.Error(err) |
| 188 | err = protocol.NewErrWithMessage(4201) //找不到这家公司 | 188 | err = protocol.NewErrWithMessage(4201) //找不到这家公司 |
| 189 | return | 189 | return |
| 190 | } | 190 | } |
| 191 | - for i:=range companys{ | ||
| 192 | - rsp.Companys =append(rsp.Companys,protocol.Company{ | ||
| 193 | - Id:companys[i].Id, | ||
| 194 | - Name:companys[i].Name, | 191 | + for i := range companys { |
| 192 | + rsp.Companys = append(rsp.Companys, protocol.Company{ | ||
| 193 | + Id: companys[i].Id, | ||
| 194 | + Name: companys[i].Name, | ||
| 195 | }) | 195 | }) |
| 196 | } | 196 | } |
| 197 | return | 197 | return |
| @@ -213,11 +213,11 @@ func SwitchCompany(header *protocol.RequestHeader, request *protocol.SwitchCompa | @@ -213,11 +213,11 @@ func SwitchCompany(header *protocol.RequestHeader, request *protocol.SwitchCompa | ||
| 213 | log.Error(err) | 213 | log.Error(err) |
| 214 | return | 214 | return |
| 215 | } | 215 | } |
| 216 | - if auth.CurrentCompanyId == request.CompanyId{ | ||
| 217 | - log.Error(fmt.Sprintf("uid:%v 当前公司已经是:%v",header.Uid,request.CompanyId)) | 216 | + if auth.CurrentCompanyId == request.CompanyId { |
| 217 | + log.Error(fmt.Sprintf("uid:%v 当前公司已经是:%v", header.Uid, request.CompanyId)) | ||
| 218 | return | 218 | return |
| 219 | } | 219 | } |
| 220 | - if err = utils.UpdateTableByMap(&models.UserAuth{Id: auth.Id}, map[string]interface{}{"CurrentCompanyId": company.CompanyId}); err != nil { | 220 | + if err = utils.UpdateTableByMap(&models.UserAuth{Id: auth.Id}, map[string]interface{}{"CurrentCompanyId": company.CompanyId, "CurrentCompanyUserId": company.Id}); err != nil { |
| 221 | log.Error(err) | 221 | log.Error(err) |
| 222 | return | 222 | return |
| 223 | } | 223 | } |
| @@ -228,14 +228,14 @@ func SwitchCompany(header *protocol.RequestHeader, request *protocol.SwitchCompa | @@ -228,14 +228,14 @@ func SwitchCompany(header *protocol.RequestHeader, request *protocol.SwitchCompa | ||
| 228 | func UserInfo(header *protocol.RequestHeader, request *protocol.UserInfoRequest) (rsp *protocol.UserInfoResponse, err error) { | 228 | func UserInfo(header *protocol.RequestHeader, request *protocol.UserInfoRequest) (rsp *protocol.UserInfoResponse, err error) { |
| 229 | var ( | 229 | var ( |
| 230 | companyId = header.CompanyId | 230 | companyId = header.CompanyId |
| 231 | - company *models.UserCompany | 231 | + userCompany *models.UserCompany |
| 232 | baseInfo *protocol.BaseUserInfo | 232 | baseInfo *protocol.BaseUserInfo |
| 233 | userAuth *models.UserAuth | 233 | userAuth *models.UserAuth |
| 234 | user *models.User | 234 | user *models.User |
| 235 | ) | 235 | ) |
| 236 | 236 | ||
| 237 | if companyId == 0 { | 237 | if companyId == 0 { |
| 238 | - if company, err = models.GetUserCompanyFirst(header.Uid); err != nil { | 238 | + if userCompany, err = models.GetUserCompanyFirst(header.Uid); err != nil { |
| 239 | log.Error(err) | 239 | log.Error(err) |
| 240 | return | 240 | return |
| 241 | } | 241 | } |
| @@ -243,17 +243,17 @@ func UserInfo(header *protocol.RequestHeader, request *protocol.UserInfoRequest) | @@ -243,17 +243,17 @@ func UserInfo(header *protocol.RequestHeader, request *protocol.UserInfoRequest) | ||
| 243 | log.Error(err) | 243 | log.Error(err) |
| 244 | return | 244 | return |
| 245 | } | 245 | } |
| 246 | - if err = utils.UpdateTableByMap(&models.UserAuth{Id: userAuth.Id}, map[string]interface{}{"CurrentCompanyId": companyId}); err != nil { | 246 | + if err = utils.UpdateTableByMap(&models.UserAuth{Id: userAuth.Id}, map[string]interface{}{"CurrentCompanyId": userCompany.CompanyId, "CurrentUserCompanyId": userCompany.Id}); err != nil { |
| 247 | log.Error(err) | 247 | log.Error(err) |
| 248 | return | 248 | return |
| 249 | } | 249 | } |
| 250 | - companyId = int64(company.Id) | 250 | + companyId = int64(userCompany.CompanyId) |
| 251 | } | 251 | } |
| 252 | if user, err = models.GetUsersById(header.Uid); err != nil { | 252 | if user, err = models.GetUsersById(header.Uid); err != nil { |
| 253 | log.Error(err) | 253 | log.Error(err) |
| 254 | return | 254 | return |
| 255 | } | 255 | } |
| 256 | - if baseInfo, err = agg.GetUserBaseInfo(header.Uid, companyId); err != nil { | 256 | + if baseInfo, err = agg.GetUserBaseInfo(header.UserId, companyId); err != nil { |
| 257 | log.Error(err) | 257 | log.Error(err) |
| 258 | return | 258 | return |
| 259 | } | 259 | } |
-
请 注册 或 登录 后发表评论