package logic import ( "context" "git.i2edu.net/i2/i2-bill-erp/internal/svc" "git.i2edu.net/i2/i2-bill-erp/model" "git.i2edu.net/i2/i2-bill-erp/transform" "git.i2edu.net/i2/go-zero/core/logx" "git.i2edu.net/i2/go-zero/core/stores/sqlc" ) type GetUserLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewGetUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetUserLogic { return &GetUserLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } func (l *GetUserLogic) GetUser(in *transform.UserRequest) (*transform.UserResponse, error) { var user model.SysUser if in.Id != "" && in.Id != "0" { u, err := l.svcCtx.SysUserModel.FindOne(in.Id) if err != nil && err != sqlc.ErrNotFound { return &transform.UserResponse{}, err } else if u != nil { user = *u } } else if in.Phone != "" { u, err := l.svcCtx.SysUserModel.FindOneByPhone(in.Phone) if err != nil && err != sqlc.ErrNotFound { return &transform.UserResponse{}, err } else if u != nil { user = *u } } if user.Id == "" { return &transform.UserResponse{}, nil } var tfr transform.UserResponse ext, err := l.svcCtx.ErpUtil.InRoles(user.Id, "TMKZHUGUAN", "LAMK", "TMKmanager", "TMKassistant", "NetTMKdirector", "NetTMKassistant", "LAMKM", "LATMK") if err != nil { return &transform.UserResponse{}, err } else if ext { tfr.Id = user.Id tfr.Phone = user.Mobile tfr.Status = user.Status.Int64 tfr.Gender = user.Gender tfr.UserName = user.Name tfr.ErpRoleType = 1 } //if in.Phone != "" { // var mk model.MktPartTimeUser // err := l.svcCtx.SqlConn.QueryRowPartial(&mk, ` // SELECT // mkt_part_time_user.id, // mkt_part_time_user.name, // mkt_part_time_user.sex, // mkt_part_time_user.name, // mkt_part_time_user.ipone_number, // mkt_part_time_user_city.name city_name, // mkt_part_time_user_city.organ_id // FROM // mkt_part_time_user // LEFT JOIN ( // SELECT // mkt_part_time_user_city.organ_id, // mkt_part_time_user_city.ptuser_id, // base_organ.name // FROM // mkt_part_time_user_city,base_organ // WHERE // base_organ.id = mkt_part_time_user_city.organ_id // // ) mkt_part_time_user_city // ON // mkt_part_time_user_city.ptuser_id = mkt_part_time_user.id // WHERE // del_flag = 0 and ipone_number=? // `, in.Phone) // // if err != nil { // logx.Error(err) // return &tfr, nil // } // if err == nil && mk.Id != 0 { // tfr.ErpRoleType = 2 // tfr.Gender = mk.Sex.Int64 // tfr.UserName = mk.Name.String // tfr.CityName = mk.CityName.String // return &tfr, nil // } //} return &tfr, nil }