12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package backend
- import (
- "context"
- "errors"
- "kpt-pasture/model"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- "gitee.com/xuyiping_admin/pkg/xerr"
- "gorm.io/gorm"
- )
- func (s *StoreEntry) GetCurrentUserName(ctx context.Context) (string, error) {
- userNameInter := ctx.Value(CurrentUserName)
- if userNameInter == nil {
- return "", xerr.Customf("cannot userName")
- }
- if userName, ok := userNameInter.(string); ok {
- return userName, nil
- } else {
- return "", xerr.Customf("waring userName")
- }
- }
- func (s *StoreEntry) GetCurrentSystemUser(ctx context.Context) (*model.SystemUser, error) {
-
- userName, err := s.GetCurrentUserName(ctx)
- if err != nil {
- return nil, xerr.WithStack(err)
- }
-
- systemUser := &model.SystemUser{Name: userName}
- if err = s.DB.Where("name = ?", userName).
- Where("is_show = ? and is_delete = ?", pasturePb.IsShow_Ok, pasturePb.IsShow_Ok).
- First(systemUser).Error; err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return nil, xerr.Custom("当前登录用户数据不存在")
- }
- return nil, xerr.WithStack(err)
- }
- return systemUser, nil
- }
- func (s *StoreEntry) GetSystemUserInfo(ctx context.Context, userId int64) (*model.SystemUser, error) {
- systemUser := &model.SystemUser{
- Id: userId,
- }
- if err := s.DB.First(systemUser).Error; err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return nil, xerr.Customf("该系统用户数据不存在: %d", userId)
- }
- return nil, xerr.WithStack(err)
- }
- return systemUser, nil
- }
- func (s *StoreEntry) GetPenInfo(ctx context.Context, penId int64) (*model.Pen, error) {
- penData := &model.Pen{
- Id: penId,
- }
- if err := s.DB.First(penData).Error; err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return nil, xerr.Customf("该栏舍数据不存在: %d", penId)
- }
- return nil, xerr.WithStack(err)
- }
- return penData, nil
- }
- func (s *StoreEntry) GetCowInfo(ctx context.Context, cowId int64) (*model.Cow, error) {
- cowData := &model.Cow{Id: cowId}
- if err := s.DB.First(cowData).Error; err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return nil, xerr.Customf("该牛只数据不存在: %d", cowId)
- }
- return nil, xerr.WithStack(err)
- }
- return cowData, nil
- }
- func (s *StoreEntry) GetTransferReasonInfo(ctx context.Context, reasonId int64) (*model.ConfigTransferPenReason, error) {
- configTransferPenReasonData := &model.ConfigTransferPenReason{
- Id: reasonId,
- }
- if err := s.DB.First(configTransferPenReasonData).Error; err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return nil, xerr.Customf("该转群原因数据不存在: %d", reasonId)
- }
- return nil, xerr.WithStack(err)
- }
- return configTransferPenReasonData, nil
- }
|