| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package user
- import (
- "context"
- "errors"
- "git.i2edu.net/i2/go-zero/core/logx"
- "git.i2edu.net/i2/i2-bill-api/model"
- "git.i2edu.net/i2/i2-bill-erp/transform"
- "git.i2edu.net/i2/i2-bill-erp/transformclient"
- "github.com/xormplus/xorm"
- "strings"
- )
- func GetAcquirePerm(userId int64, rpcClient transformclient.Transform, engine *xorm.Engine) (string, error) {
- //获取兼职
- partUser := new(model.I2billMktPartTimeUser)
- _, err := engine.SQL("select * from i2bill_mkt_part_time_user where del_flag = 0 and check_state = 57 and user_id = ?", userId).Get(partUser)
- if err != nil {
- return "", err
- }
- if partUser.Id != 0 {
- return partUser.MkId, nil
- }
- //获取erp用户
- user := new(model.User)
- _, err = engine.SQL("select * from i2bill_user where del_flag = 0 and user_id = ?", userId).Get(user)
- if err != nil {
- return "", err
- }
- if user.Id == 0 {
- logx.Error("用户不存在")
- return "", errors.New("用户不存在")
- }
- ctx := context.Background()
- in := new(transform.GetErpRoleReq)
- in.Mobile = user.Mobile
- erpRoles, err := rpcClient.GetErpRole(ctx, in)
- if err != nil {
- return "", err
- }
- //判定是不是 mk 还是 兼职
- if erpRoles.UserId != "" {
- roles := strings.Split(erpRoles.Role, ",")
- for _, r := range roles {
- if r == "LAMK" || r == "LAMKM" || r == "student/readingStudent" {
- return erpRoles.UserId, nil
- }
- }
- }
- return "", nil
- }
- //获取校区权限
- func GetUserSchoolPerm(erpUserId string, rpcClient transformclient.Transform, engine *xorm.Engine) ([]*transform.OrganSchool, error) {
- ctx := context.Background()
- in := erpUserId
- result, err := rpcClient.GetErpOrganSchPerByUserId(ctx, &transform.GetErpOrganSchPerByUserIdReq{UserId: in})
- if err != nil {
- return nil, err
- }
- return result.School, nil
- }
|