fix: some return error

This commit is contained in:
vilet.yy 2021-06-11 15:46:30 +08:00
parent 587aa7e355
commit 3b1b9938d3
10 changed files with 66 additions and 52 deletions

View File

@ -1,7 +1,7 @@
/*
* @Date: 2021-06-10 18:58:25
* @LastEditors: viletyy
* @LastEditTime: 2021-06-11 01:14:45
* @LastEditTime: 2021-06-11 15:44:18
* @FilePath: /potato/internal/controller/api/v1/auth.go
*/
package v1
@ -33,7 +33,7 @@ func GetAuth(c *gin.Context) {
}
svc := service.New(c.Request.Context())
err := svc.CheckAuth(&param)
auth, err := svc.CheckAuth(&param)
if err != nil {
global.GO_LOG.Sugar().Errorf("svc.CheckAuth err: %v", err)
response.ToErrorResponse(errcode.UnauthorizedAuthNotExist)
@ -48,6 +48,8 @@ func GetAuth(c *gin.Context) {
}
response.ToResponse(gin.H{
"token": token,
"app_key": auth.AppKey,
"app_secret": auth.AppSecret,
"token": token,
})
}

View File

@ -1,13 +1,14 @@
/*
* @Date: 2021-03-21 19:54:57
* @LastEditors: viletyy
* @LastEditTime: 2021-06-11 01:17:44
* @LastEditTime: 2021-06-11 15:22:16
* @FilePath: /potato/internal/controller/api/v1/basic/vendor.go
*/
package basic
import (
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
"github.com/viletyy/potato/global"
"github.com/viletyy/potato/internal/service"
"github.com/viletyy/potato/pkg/app"
@ -158,9 +159,15 @@ func (vendor Vendor) Update(c *gin.Context) {
svc := service.New(c.Request.Context())
dbVendor, err := svc.UpdateVendor(&param)
if err != nil {
global.GO_LOG.Sugar().Errorf("svc.UpdateVendor err: %v", err)
response.ToErrorResponse(errcode.ErrorUpdateVendorFail)
return
if err == gorm.ErrRecordNotFound {
global.GO_LOG.Sugar().Errorf("svc.UpdateVendor err: %v", err)
response.ToErrorResponse(errcode.ErrorGetVendorFail)
return
} else {
global.GO_LOG.Sugar().Errorf("svc.UpdateVendor err: %v", err)
response.ToErrorResponse(errcode.ErrorUpdateVendorFail)
return
}
}
response.ToResponse(dbVendor)
@ -187,9 +194,15 @@ func (vendor Vendor) Delete(c *gin.Context) {
svc := service.New(c.Request.Context())
err = svc.DeleteVendor(&param)
if err != nil {
global.GO_LOG.Sugar().Errorf("svc.DeleteVendor err: %v", err)
response.ToErrorResponse(errcode.ErrorDeleteVendorFail)
return
if err == gorm.ErrRecordNotFound {
global.GO_LOG.Sugar().Errorf("svc.DeleteVendor err: %v", err)
response.ToErrorResponse(errcode.ErrorGetVendorFail)
return
} else {
global.GO_LOG.Sugar().Errorf("svc.DeleteVendor err: %v", err)
response.ToErrorResponse(errcode.ErrorDeleteVendorFail)
return
}
}
response.ToErrorResponse(errcode.Success)

View File

@ -1,7 +1,7 @@
/*
* @Date: 2021-06-10 18:54:19
* @LastEditors: viletyy
* @LastEditTime: 2021-06-10 18:55:32
* @LastEditTime: 2021-06-11 15:41:34
* @FilePath: /potato/internal/dao/auth.go
*/
package dao

View File

@ -1,7 +1,7 @@
/*
* @Date: 2021-06-10 22:53:09
* @LastEditors: viletyy
* @LastEditTime: 2021-06-11 10:37:45
* @LastEditTime: 2021-06-11 10:54:38
* @FilePath: /potato/internal/dao/vendor.go
*/
package dao
@ -61,5 +61,11 @@ func (d *Dao) DeleteVendor(id int64) error {
Model: &model.Model{ID: id},
}
return vendor.Delete(d.Engine)
dbVendor, err := vendor.Get(d.Engine)
if err != nil {
return err
}
return dbVendor.Delete(d.Engine)
}

View File

@ -1,7 +1,7 @@
/*
* @Date: 2021-06-10 18:21:37
* @LastEditors: viletyy
* @LastEditTime: 2021-06-11 10:38:15
* @LastEditTime: 2021-06-11 15:41:04
* @FilePath: /potato/internal/model/auth.go
*/
package model
@ -14,12 +14,9 @@ type Auth struct {
AppSecret string `json:"app_secret"`
}
func (a Auth) Get(db *gorm.DB) (Auth, error) {
var auth Auth
db = db.Where("app_key = ? AND app_secret = ?", a.AppKey, a.AppSecret)
err := db.First(&auth).Error
if err != nil && err != gorm.ErrRecordNotFound {
return auth, err
func (a Auth) Get(db *gorm.DB) (auth Auth, err error) {
if notFound := db.Where("app_key = ? AND app_secret = ?", a.AppKey, a.AppSecret).First(&auth).RecordNotFound(); notFound {
return a, gorm.ErrRecordNotFound
}
return auth, nil

View File

@ -1,7 +1,7 @@
/*
* @Date: 2021-03-21 19:54:57
* @LastEditors: viletyy
* @LastEditTime: 2021-06-11 10:30:18
* @LastEditTime: 2021-06-11 11:01:28
* @FilePath: /potato/internal/model/basic/vendor.go
*/
package basic
@ -51,9 +51,8 @@ func (v Vendor) List(db *gorm.DB, pageOffset, pageSize int) (vendors []Vendor, e
}
func (v Vendor) Get(db *gorm.DB) (vendor Vendor, err error) {
err = db.Where("id = ?", v.ID).First(&vendor).Error
if err != nil && err != gorm.ErrRecordNotFound {
return
if notFound := db.Where("id = ?", v.ID).First(&vendor).RecordNotFound(); notFound {
return v, gorm.ErrRecordNotFound
}
return vendor, nil
@ -68,6 +67,6 @@ func (v *Vendor) Update(db *gorm.DB) error {
return err
}
func (v Vendor) Delete(db *gorm.DB) error {
return db.Where("id = ? AND deleted_at = ?", v.ID, nil).Delete(&v).Error
func (v *Vendor) Delete(db *gorm.DB) error {
return db.Where("id = ?", v.ID).Delete(v).Error
}

View File

@ -1,10 +1,16 @@
/*
* @Date: 2021-03-22 17:50:15
* @LastEditors: viletyy
* @LastEditTime: 2021-06-11 10:46:51
* @FilePath: /potato/internal/model/model.go
*/
package model
import "time"
type Model struct {
ID int64 `gorm:"primary_key" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `gorm:"index" json:"-"`
ID int64 `gorm:"primary_key" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt time.Time `gorm:"index" json:"-"`
}

View File

@ -1,27 +1,18 @@
/*
* @Date: 2021-06-10 18:55:46
* @LastEditors: viletyy
* @LastEditTime: 2021-06-11 01:03:11
* @LastEditTime: 2021-06-11 15:43:31
* @FilePath: /potato/internal/service/auth.go
*/
package service
import "errors"
import "github.com/viletyy/potato/internal/model"
type AuthRequest struct {
AppKey string `form:"app_key" validate:"required"`
AppSecret string `form:"app_secret" validate:"required"`
}
func (svc *Service) CheckAuth(param *AuthRequest) error {
auth, err := svc.dao.GetAuth(param.AppKey, param.AppSecret)
if err != nil {
return err
}
if auth.ID > 0 {
return nil
}
return errors.New("auth info does not exist.")
func (svc *Service) CheckAuth(param *AuthRequest) (model.Auth, error) {
return svc.dao.GetAuth(param.AppKey, param.AppSecret)
}

View File

@ -1,7 +1,7 @@
/*
* @Date: 2021-06-10 16:30:10
* @LastEditors: viletyy
* @LastEditTime: 2021-06-10 21:43:05
* @LastEditTime: 2021-06-11 15:36:11
* @FilePath: /potato/pkg/errcode/errcode.go
*/
package errcode
@ -59,5 +59,5 @@ func (e *Error) StatusCode() int {
return http.StatusTooManyRequests
}
return http.StatusInternalServerError
return http.StatusBadRequest
}

View File

@ -1,16 +1,16 @@
/*
* @Date: 2021-06-10 23:09:09
* @LastEditors: viletyy
* @LastEditTime: 2021-06-10 23:26:27
* @LastEditTime: 2021-06-11 15:16:59
* @FilePath: /potato/pkg/errcode/module_code.go
*/
package errcode
var (
ErrorGetVendorListFail = NewError(21001, "获取系统厂商列表失败")
ErrorGetVendorFail = NewError(21002, "获取系统厂商失败")
ErrorCreateVendorFail = NewError(21003, "创建系统厂商失败")
ErrorUpdateVendorFail = NewError(21004, "更新系统厂商失败")
ErrorDeleteVendorFail = NewError(21005, "删除系统厂商失败")
ErrorCountVendorFail = NewError(21006, "统计系统厂商失败")
ErrorGetVendorListFail = NewError(20101, "获取系统厂商列表失败")
ErrorGetVendorFail = NewError(20102, "获取系统厂商失败")
ErrorCreateVendorFail = NewError(20103, "创建系统厂商失败")
ErrorUpdateVendorFail = NewError(20104, "更新系统厂商失败")
ErrorDeleteVendorFail = NewError(20105, "删除系统厂商失败")
ErrorCountVendorFail = NewError(20106, "统计系统厂商失败")
)