Jelajahi Sumber

fix: GetUser

2637309949 4 tahun lalu
induk
melakukan
b39fa71f48
3 mengubah file dengan 12 tambahan dan 5 penghapusan
  1. 1 0
      go.mod
  2. 2 0
      go.sum
  3. 9 5
      internal/logic/getuserlogic.go

+ 1 - 0
go.mod

@@ -4,6 +4,7 @@ go 1.16
 
 require (
 	git.i2edu.net/i2/go-zero v1.0.1-0.20210616091154-7fac117e009f
+	github.com/go-errors/errors v1.4.0 // indirect
 	github.com/go-sql-driver/mysql v1.6.0 // indirect
 	github.com/golang/protobuf v1.4.2
 	github.com/thoas/go-funk v0.8.0

+ 2 - 0
go.sum

@@ -58,6 +58,8 @@ github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03D
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
+github.com/go-errors/errors v1.4.0 h1:2OA7MFw38+e9na72T1xgkomPb6GzZzzxvJ5U630FoRM=
+github.com/go-errors/errors v1.4.0/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
 github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=

+ 9 - 5
internal/logic/getuserlogic.go

@@ -26,17 +26,21 @@ func NewGetUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetUserLo
 }
 
 func (l *GetUserLogic) GetUser(in *transform.UserRequest) (*transform.UserResponse, error) {
-	tfr, user := transform.UserResponse{}, &model.SysUser{}
-	var err error
+	var tfr transform.UserResponse
+	var user model.SysUser
 	if in.Id != "" && in.Id != "0" {
-		user, err = l.svcCtx.SysUserModel.FindOne(in.Id)
+		u, err := l.svcCtx.SysUserModel.FindOne(in.Id)
 		if err != nil && err != sqlc.ErrNotFound {
 			return &tfr, nil
+		} else if u != nil {
+			user = *u
 		}
 	} else if in.Phone != "" {
-		user, err = l.svcCtx.SysUserModel.FindOneByPhone(in.Phone)
+		u, err := l.svcCtx.SysUserModel.FindOneByPhone(in.Phone)
 		if err != nil && err != sqlc.ErrNotFound {
 			return &tfr, nil
+		} else if u != nil {
+			user = *u
 		}
 	}
 	tfr.Id = user.Id
@@ -54,5 +58,5 @@ func (l *GetUserLogic) GetUser(in *transform.UserRequest) (*transform.UserRespon
 			return &tfr, nil
 		}
 	}
-	return &tfr, nil
+	return &tfr, err
 }